src/org/kocakosm/pitaya/collection/Iterators.java
public static <E> Iterator<E> cycle(Iterator<? extends E> iterator)
	{
		return new LazyCyclicIterator<E>(iterator);
	}
public static <E> Iterator<E> cycle(Iterator<? extends E> iterator)
	{
		return new LazyCyclicIterator<E>(iterator);
	}
public static < E > Iterator < E > cycle ( Iterator < ? extends E > iterator ) { return new LazyCyclicIterator < E > ( iterator ) ; }
Returns an {@code Iterator} that cycles indefinitely over the content
of the given source {@code Iterator}. The source {@code Iterator} is
not polled until necessary. The returned {@code Iterator} supports
{@link Iterator#remove()}.

@param <E> the type of the returned {@code Iterator}'s elements.
@param iterator the source {@code Iterator}.

@return the cyclic {@code Iterator}.

@throws NullPointerException if {@code iterator} is {@code null}.
Returns an { @code Iterator } that cycles indefinitely over the content of the given source { @code Iterator } . The source { @code Iterator } is not polled until necessary . The returned { @code Iterator } supports { @link Iterator#remove () } .