reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final <U> Flux<T> sampleFirst(Function<? super T, ? extends Publisher<U>> samplerFactory) {
		return onAssembly(new FluxSampleFirst<>(this, samplerFactory));
	}
public final <U> Flux<T> sampleFirst(Function<? super T, ? extends Publisher<U>> samplerFactory) {
		return onAssembly(new FluxSampleFirst<>(this, samplerFactory));
	}
Repeatedly take a value from this {@link Flux} then skip the values that follow
before the next signal from a companion sampler {@link Publisher}.

<p>
<img class="marble" src="doc-files/marbles/sampleFirstWithSamplerFactory.svg" alt="">

@reactor.discard This operator discards elements that are not part of the sampling.

@param samplerFactory supply a companion sampler {@link Publisher} which signals the end of the skip window
@param <U> the companion reified type

@return a {@link Flux} sampled to the first item observed in each window closed by the sampler signals