code: public final <R> Stream<R> transform(
              @Nullable final Function<Iterator<T>, Iterator<R>> iteratorFunction,
              @Nullable final Function<Handler<R>, Handler<T>> handlerFunction) {
          synchronized (this.state) {
              checkState();
              return new TransformSequenceStream<T, R>(this, iteratorFunction, handlerFunction);
          }
      }
docs: Intermediate operation returning a Stream with the elements obtained by applying the
  supplied transformation functions to the {@code Iterator} and {@code Handler} returned /
  accepted by this Stream. At least a function must be supplied. If both of them are
  supplied, make sure that they perform the same transformation.
  
  @param iteratorFunction
  the transformation function responsible to adapt the {@code Iterator} returned
  by this Stream
  @param handlerFunction
  the transformation function responsible to adapt the {@code Handler} accepted by
  this Stream
  @param <R>
  the type of transformed elements
  @return a Stream over the transformed sequence of elements