static ItIt roundRobinCombinedIterator(Iterator... iterators) { class Robin implements IF0 { L> activeIterators = ll(iterators); int i; public O get() { while (nempty(activeIterators)) { Iterator it = activeIterators.get(i); if (!it.hasNext()) activeIterators.remove(i); else { i = (i+1) % l(activeIterators); ret it.next(); } } ret endMarker(); } } ret iff(new Robin); }