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());
	}
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)
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 .