code: public final <V> Flux<V> compose(Function<? super Flux<T>, ? extends Publisher<V>> transformer) {
  		return defer(() -> transformer.apply(this));
  	}
docs: Defer the transformation of this {@link Flux} in order to generate a target {@link Flux} type.
  A transformation will occur for each {@link Subscriber}. For instance:
  <blockquote><pre>
  flux.compose(original -> original.log());
  </pre></blockquote>
  <p>
  <img class="marble" src="doc-files/marbles/composeForFlux.svg" alt="">
  
  @param transformer the {@link Function} to lazily map this {@link Flux} into a target {@link Publisher}
  instance for each new subscriber
  @param <V> the item type in the returned {@link Publisher}
  
  @return a new {@link Flux}
  @see #transform  transform() for immmediate transformation of {@link Flux}
  @see #as as() for a loose conversion to an arbitrary type