code: public <K> Stream<Grouped<K, T>> groupBy(final Func1<? super T, ? extends K> groupSelector) {
          return groupBy(groupSelector, new Func1<T, T>() {
              @Override
              public T call(T value) {
                  return value;
              }
          });
      }
docs: Returns a new stream of {@link Grouped} that is composed from keys that has been
  extracted from each source stream item.
  
  @param groupSelector a function that extracts a key from a given item.
  @param <K>           a type of key value.
  @return a new stream of {@link Grouped} that is grouped by a key extracted from each source stream item.