code: public static <E, I extends Iterator<E>> Iterator<E> chain(I... iterators) {
          return new ChainIterator<>(ArrayIterator.of(iterators));
      }
docs: Flattens passed 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 array of iterators to be flattened
  @return the flattened iterator