src/org/kocakosm/pitaya/collection/Iterables.java
public static <T> Iterable<T> cycle(Iterable<? extends T> iterable)
	{
		return new CyclicIterable<T>(toList(iterable));
	}
public static <T> Iterable<T> cycle(Iterable<? extends T> iterable)
	{
		return new CyclicIterable<T>(toList(iterable));
	}
Returns a cyclic {@code Iterable} that cycles indefinitely over the
given {@code Iterable}'s elements. The returned {@code Iterable}'s
{@code Iterator} supports {@code Iterator#remove()}.

@param <T> the type of the returned {@code Iterable}'s elements.
@param iterable the {@code Iterable} containing the elements to
cycle over.

@return the cyclic {@code Iterable}.

@throws NullPointerException if {@code iterable} is {@code null}.