On a related note, have you considered using Iterables instead of Iterators? They make the looping constructs much nicer.
Its not possible to use Iterables instead of Itertors because that will break backward compatibility of our API.
An option is to let FSIterator also extend Iterable, though the semantics of an Iterator having the iterator method may be confusing to some. Jörn