reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final <V> Flux<T> distinctUntilChanged(Function<? super T, ? extends V> keySelector) {
		return distinctUntilChanged(keySelector, equalPredicate());
	}
public final <V> Flux<T> distinctUntilChanged(Function<? super T, ? extends V> keySelector) {
		return distinctUntilChanged(keySelector, equalPredicate());
	}
Filter out subsequent repetitions of an element (that is, if they arrive right after
one another), as compared by a key extracted through the user provided {@link Function}
using equality.

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

@reactor.discard This operator discards elements that are considered as "already seen".
The keys themselves are not discarded.

@param keySelector function to compute comparison key for each element
@param <V> the type of the key extracted from each value in this sequence

@return a filtering {@link Flux} with only one occurrence in a row of each element of
the same key (yet element keys can repeat in the overall sequence)