code: public static <T> Iterator<T> iteratorOverIterables(
          Iterable<? extends T> iterable0, Iterable<? extends T> iterable1)
      {
          Objects.requireNonNull(iterable0, "The iterable0 is null");
          Objects.requireNonNull(iterable1, "The iterable1 is null");
          List<Iterable<? extends T>> iterables =
              new ArrayList<Iterable<? extends T>>(2);
          iterables.add(iterable0);
          iterables.add(iterable1);
          return iteratorOverIterables(iterables.iterator());
      }
docs: Returns an iterator that combines the iterators that are
  returned by the given iterables
  
  @param <T> The element type
  @param iterable0 The first iterable
  @param iterable1 The second iterable
  @return The iterator