Instead of implementing List interface.
There are some advantages to implementing the interface (like controlling the active methods) but the extra complexity is really not justified in this case.
Maybe not good in scala. I remember some wrinkles around doing similar things when porting to scala.