public class ExpandableIterator<T>
extends Object
implements Iterator<T>
ExpandableIterator takes an iterator and will emit the objects of that iterator.
However, if an object is added to ExpandableIterator, then its put into a queue.
The queue has priority over the iterator when calling next().