code: public static <E, I extends Iterator<E>> Iterator<E> chain(Iterable<I> iterators) {
          dbc.precondition(iterators != null, "cannot chain a null iterable");
          return new ChainIterator<>(iterators.iterator());
      }
docs: Flattens an iterable of iterators of E to an iterator of E. E.g:
  <code>
  chain([1,2], [3,4]) -> [1,2,3,4]
  </code>
  
  @param <E> the iterator element type
  @param <I> the iterator type
  @param iterators the source iterable
  @return the flattened iterator