public Enumerable applyResultSelector()

in src/main/java/net/hydromatic/linq4j/LookupImpl.java [173:199]


  public <TResult> Enumerable<TResult> applyResultSelector(
      final Function2<K, Enumerable<V>, TResult> resultSelector) {
    return new AbstractEnumerable<TResult>() {
      public Enumerator<TResult> enumerator() {
        final Enumerator<Grouping<K, V>> groupingEnumerator =
            LookupImpl.this.enumerator();
        return new Enumerator<TResult>() {
          public TResult current() {
            final Grouping<K, V> grouping = groupingEnumerator.current();
            return resultSelector.apply(grouping.getKey(), grouping);
          }

          public boolean moveNext() {
            return groupingEnumerator.moveNext();
          }

          public void reset() {
            groupingEnumerator.reset();
          }

          public void close() {
            groupingEnumerator.close();
          }
        };
      }
    };
  }