code: @SafeVarargs
      @SuppressWarnings("unchecked")
      public static <T> Stream<T> stream(Iterable<T>... iterables) {
          List<Iterator<T>> iterators = Arrays.stream(iterables)
              .map(Iterable::iterator)
              .collect(Collectors.toList());
  
          return stream(iterators.toArray(new Iterator[iterables.length]));
      }
docs: Create a {@link java.util.stream.Stream} over the elements of the iterables, in order.  A list of iterators
  is first created from the iterables, and passed to {@link #stream(Iterator[])}. The iterable elements are not
  loaded into memory first.