Code cleanups, replaced for loops with an iterator, etc...

I sometimes strongly type the fields to the collection implementation (rather than the interface) in performance critical parts.

That way, we can make strong assumptions on the complexity of certain operations (such as random access is constant in an ArrayList is constant, vs linear in a LinkedList).

I think that this in not crucial here, but in general, not all such declared occurrences are accidental.