code: static <T> Function<Iterable<? extends T>, Iterator<? extends T>> toIterator() {
      return new Function<Iterable<? extends T>, Iterator<? extends T>>() {
        @Override
        public Iterator<? extends T> apply(Iterable<? extends T> iterable) {
          return iterable.iterator();
        }
      };
    }
docs: Useful as a public method?