code: public <VV> EntryStream<K, VV> flatMapToValue(
              BiFunction<? super K, ? super V, ? extends Stream<? extends VV>> mapper) {
          return new EntryStream<>(stream().flatMap(e -> withKey(e.getKey(), mapper.apply(e.getKey(), e.getValue()))),
                  context);
      }
docs: Returns an {@code EntryStream} consisting of the entries whose values are
  results of replacing source values with the contents of a mapped stream
  produced by applying the provided mapping function and keys are left
  intact. Each mapped stream is {@link java.util.stream.BaseStream#close()
  closed} after its contents have been placed into this stream. (If a
  mapped stream is {@code null} an empty stream is used, instead.)
  
  <p>
  This is an <a href="package-summary.html#StreamOps">intermediate
  operation</a>.
  
  @param <VV> The type of new values
  @param mapper a <a
  href="package-summary.html#NonInterference">non-interfering </a>,
  <a href="package-summary.html#Statelessness">stateless</a>
  function to apply to each key and value which produces a stream of
  new values
  @return the new stream
  @since 0.5.2