package org.geowebcache.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class CompositeIterable<T> implements Iterable<T> {
private List<Iterable<T>> iterables;
@SuppressWarnings("unchecked")
public CompositeIterable(Iterable<T>... iterables) {
this(iterables == null ? Collections.EMPTY_LIST : Arrays.asList(iterables));
}
public CompositeIterable(List<Iterable<T>> iteratbles) {
this.iterables = new ArrayList<Iterable<T>>(iteratbles);
}
public Iterator<T> iterator() {
List<Iterator<T>> iterators = new ArrayList<Iterator<T>>(4);
for (Iterable<T> iterable : iterables) {
Iterator<T> iterator = iterable.iterator();
iterators.add(iterator);
}
return new CompositeIterator<T>(iterators);
}
}