code: public final Flux<T> delayUntil(Function<? super T, ? extends Publisher<?>> triggerProvider) {
  		return concatMap(v -> Mono.just(v)
  		                          .delayUntil(triggerProvider));
  	}
docs: Subscribe to this {@link Flux} and generate a {@link Publisher} from each of this
  Flux elements, each acting as a trigger for relaying said element.
  <p>
  That is to say, the resulting {@link Flux} delays each of its emission until the
  associated trigger Publisher terminates.
  <p>
  In case of an error either in the source or in a trigger, that error is propagated
  immediately downstream.
  Note that unlike with the {@link Mono#delayUntil(Function) Mono variant} there is
  no fusion of subsequent calls.
  <p>
  <img class="marble" src="doc-files/marbles/delayUntilForFlux.svg" alt="">
  
  @param triggerProvider a {@link Function} that maps each element into a
  {@link Publisher} whose termination will trigger relaying the value.
  
  @return this Flux, but with elements delayed until their derived publisher terminates.