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));
	}
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}.
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 () } .