package edu.berkeley.nlp.util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
public class ConcatenationIterable<T> implements Iterable<T> {
private Collection<? extends Iterable<T>> iterableColl;
public ConcatenationIterable(Collection<? extends Iterable<T>> iterableColl)
{
this.iterableColl = iterableColl;
}
public ConcatenationIterable(Iterable<T>...iterables) {
this.iterableColl = Arrays.asList(iterables);
}
public Iterator<T> iterator() {
Collection<Iterator<T>> itColl = new ArrayList<Iterator<T>>();
for (Iterable<T> iterable: iterableColl) {
itColl.add(iterable.iterator());
}
return new ConcatenationIterator(itColl);
}
}