code: public NavigableMap<K, V> toNavigableMap(BinaryOperator<V> mergeFunction) {
          return collect(Collectors.toMap(Entry::getKey, Entry::getValue, mergeFunction, TreeMap::new));
      }
docs: Returns a {@link NavigableMap} containing the elements of this stream.
  There are no guarantees on the type or serializability of the
  {@code NavigableMap} returned; if more control over the returned
  {@code Map} is required, use
  {@link #toCustomMap(BinaryOperator, Supplier)}.
  
  <p>
  If the mapped keys contains duplicates (according to
  {@link Object#equals(Object)}), the value mapping function is applied to
  each equal element, and the results are merged using the provided merging
  function.
  
  <p>
  This is a <a href="package-summary.html#StreamOps">terminal</a>
  operation.
  
  <p>
  Returned {@code NavigableMap} is guaranteed to be modifiable.
  
  @param mergeFunction a merge function, used to resolve collisions between
  values associated with the same key, as supplied to
  {@link Map#merge(Object, Object, BiFunction)}
  @return a {@code NavigableMap} containing the elements of this stream
  @see Collectors#toMap(Function, Function)
  @since 0.6.5