<p>Is there an Iterator implementation that merges multiple iterators? </p>

<pre><code>class MergedIterator&lt;T&gt; implements Iterator&lt;T&gt;
{
     MergedIterator(Iterator&lt;T&gt;... iters)
     ....
}
</code></pre>

<p>And the next method should move on to <code>iters[1]</code> when <code>!iters[0].hasNext()</code> etc</p>

I'd call that a ConcatenatedIterator myself - a MergedIterator should merge the results of several iterators e.g. based on sorting
Naming aside, I'm sure there'll be an implementation in a 3rd party library somewhere. Just off to check
Google collections
...
EDIT: Bingo -
Iterators.concat