code: public <V> EntryStream<T, V> cross(Function<? super T, ? extends Stream<? extends V>> mapper) {
          return new EntryStream<>(stream().flatMap(a -> EntryStream.withKey(a, mapper.apply(a))), context);
      }
docs: Creates a new {@code EntryStream} whose keys are elements of current
  stream and corresponding values are supplied by given function. 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</a>
  operation.
  
  @param <V> the type of values.
  @param mapper a non-interfering, stateless function to apply to each
  element which produces a stream of the values corresponding to the
  single element of the current stream.
  @return the new {@code EntryStream}
  @since 0.2.3