code: public <R> StreamEx<R> flatMapToObj(LongFunction<? extends Stream<R>> mapper) {
          return new StreamEx<>(stream().mapToObj(mapper).flatMap(Function.identity()), context);
      }
docs: Returns a {@link StreamEx} consisting of the results of replacing each
  element of this stream with the contents of a mapped stream produced by
  applying the provided mapping function to each element. Each mapped
  stream is 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 intermediate operation.
  
  @param <R> The element type of the new stream
  @param mapper a non-interfering, stateless function to apply to each
  element which produces a {@code Stream} of new values
  @return the new stream
  @since 0.3.0