code: public static <E, I extends Iterator<E>> Iterator<E> roundrobin(Iterable<I> iterators) {
          dbc.precondition(iterators != null, "cannot roundrobin a null iterable");
          return new RoundrobinIterator<E>(iterators.iterator());
      }
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 iterable
  @return an iterator yielding multiplexed elements