code: public static <E, I extends Iterator<E>> Iterator<E> roundrobin(Iterator<I> iterators) {
          return new RoundrobinIterator<E>(iterators);
      }
docs: Multiplexes an iterator of iterators into an iterator. Iteration stops
  when every element from every source has been consumed.
  <code>
  roundRobin([1,2], [3], [4,5]) -> [1,3,4,2,5]
  </code>
  
  @param <E> the element type
  @param <I> the iterator type
  @param iterators the source iterator
  @return an iterator yielding multiplexed elements