src/org/kocakosm/pitaya/collection/Iterators.java
public static <E> Iterator<E> concat(Iterator<? extends Iterator<? extends E>> iterators)
	{
		return new ConcatIterator<E>(iterators);
	}
public static <E> Iterator<E> concat(Iterator<? extends Iterator<? extends E>> iterators)
	{
		return new ConcatIterator<E>(iterators);
	}
Concatenates all the given {@code Iterator}s into a single one. The
source {@code Iterator}s aren't polled until necessary. The returned
{@code Iterator} supports {@link Iterator#remove()} when the
corresponding input {@code Iterator} supports it.

@param <E> the type of the returned {@code Iterator}'s elements.
@param iterators the {@code Iterator}s to concatenate.

@return the concatenated {@code Iterator}.

@throws NullPointerException if {@code iterators} is {@code null} or
if it contains a {@code null} reference.