code: public <V> SortedMap<T, V> toSortedMap(Function<? super T, ? extends V> valMapper) {
          return toSortedMap(Function.identity(), valMapper);
      }
docs: Returns a {@link SortedMap} whose keys are elements from this stream and
  values are the result of applying the provided mapping functions to the
  input elements.
  
  <p>
  This is a <a href="package-summary.html#StreamOps">terminal</a>
  operation.
  
  <p>
  If this stream contains duplicates (according to
  {@link Object#equals(Object)}), an {@code IllegalStateException} is
  thrown when the collection operation is performed.
  
  <p>
  For parallel stream the concurrent {@code SortedMap} is created.
  
  <p>
  Returned {@code SortedMap} is guaranteed to be modifiable.
  
  @param <V> the output type of the value mapping function
  @param valMapper a mapping function to produce values
  @return a {@code SortedMap} whose keys are elements from this stream and
  values are the result of applying mapping function to the input
  elements
  
  @see Collectors#toMap(Function, Function)
  @see Collectors#toConcurrentMap(Function, Function)
  @see #toSortedMap(Function, Function)
  @see #toNavigableMap(Function)
  @since 0.1.0