src/org/kocakosm/pitaya/collection/Iterables.java
public static <T> Iterable<T> concat(Iterable<? extends Iterable<? extends T>> iterables)
	{
		return new ConcatIterable<T>(iterables);
	}
public static <T> Iterable<T> concat(Iterable<? extends Iterable<? extends T>> iterables)
	{
		return new ConcatIterable<T>(iterables);
	}
public static < T > Iterable < T > concat ( Iterable < ? extends Iterable < ? extends T > > iterables ) { return new ConcatIterable < T > ( iterables ) ; }
Concatenates the given {@code Iterable}s into a single one. Note that
the returned {@code Iterable} is only a view, that is, any subsequent
update on any of the input {@code Iterable}s will affect the returned
view. The input {@code Iterable}s will not be polled until necessary.
The returned view's {@code Iterator} supports {@link Iterator#remove()}
when the corresponding input {@code Iterator} supports it.

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

@return the concatenated {@code Iterable}.

@throws NullPointerException if {@code iterables} is {@code null} or
if it contains a {@code null} reference.
Concatenates the given { @code Iterable } s into a single one . Note that the returned { @code Iterable } is only a view that is any subsequent update on any of the input { @code Iterable } s will affect the returned view . The input { @code Iterable } s will not be polled until necessary . The returned view s { @code Iterator } supports { @link Iterator#remove () } when the corresponding input { @code Iterator } supports it .