code: public static <T> Iterator<T> concat(Iterator<? extends T>... inputs) {
      return concatNoDefensiveCopy(Arrays.copyOf(inputs, inputs.length));
    }
docs: Combines multiple iterators into a single iterator. The returned iterator iterates across the
  elements of each iterator in {@code inputs}. The input iterators are not polled until
  necessary.
  
  <p>The returned iterator supports {@code remove()} when the corresponding input iterator
  supports it.
  
  @throws NullPointerException if any of the provided iterators is null