src/org/kocakosm/pitaya/collection/Iterables.java
public static <T> Iterable<T> cycle(T... elements)
	{
		return new CyclicIterable<T>(new ArrayList<T>(Arrays.asList(elements)));
	}
public static <T> Iterable<T> cycle(T... elements)
	{
		return new CyclicIterable<T>(new ArrayList<T>(Arrays.asList(elements)));
	}
Returns an {@code Iterable} that cycles indefinitely over the given
elements. The returned {@code Iterable}'s {@code Iterator} supports
{@link Iterator#remove()}.

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

@return the cyclic {@code Iterable}.

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