package gregtech.api.objects.iterators; import java.util.Iterator; public class MergedIterator implements Iterator { private final Iterator[] inners; private int current; @SafeVarargs public MergedIterator(Iterator... iterators) { inners = iterators; current = 0; } public boolean hasNext() { while (current < inners.length && !inners[current].hasNext()) { current++; } return current < inners.length; } public T next() { while (current < inners.length && !inners[current].hasNext()) { current++; } return inners[current].next(); } }