code: @Override
  	public Stream<Entry<K, V>> apply(Stream<T> streamIn) {
  		Assert.notNull(streamIn, "'streamIn' must not be null");
  		if (this.aggregator != null){
  			return streamIn.collect(Collectors.toMap(this.keyExtractor, this.valueExtractor, this.aggregator)).entrySet().stream();
  		}
  		else {
  			return streamIn.map(val -> KVUtils.kv(this.keyExtractor.apply(val), this.valueExtractor.apply(val)));
  		}
  	}
docs: Will create a new {@link Stream} of Key/Value pairs represented as {@link Entry}