code: public static <T> Iterable<T> iterableOverIterables(
          final Iterable<? extends Iterable<? extends T>> iterablesIterable)
      {
          Objects.requireNonNull(iterablesIterable, 
              "The iterablesIterable is null");
          return new Iterable<T>()
          {
              @Override
              public Iterator<T> iterator()
              {
                  return Iterators.iteratorOverIterables(
                      iterablesIterable.iterator());
              }
          };
      }
docs: Returns an iterator that combines the iterators that are provided
  by the iterables that are provided by the iterator of the given
  iterable. Fancy stuff, he?
  
  @param <T> The element type
  @param iterablesIterable The iterable over the iterables. May not
  provide <code>null</code> iterables.
  @return The iterator