reactor-core/src/main/java/reactor/core/publisher/Mono.java
public final Mono<T> filter(final Predicate<? super T> tester) {
		if (this instanceof Fuseable) {
			return onAssembly(new MonoFilterFuseable<>(this, tester));
		}
		return onAssembly(new MonoFilter<>(this, tester));
	}
public final Mono<T> filter(final Predicate<? super T> tester) {
		if (this instanceof Fuseable) {
			return onAssembly(new MonoFilterFuseable<>(this, tester));
		}
		return onAssembly(new MonoFilter<>(this, tester));
	}
If this {@link Mono} is valued, test the result and replay it if predicate returns true.
Otherwise complete without value.

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

@reactor.discard This operator discards the element if it does not match the filter. It
also discards upon cancellation or error triggered by a data signal.

@param tester the predicate to evaluate

@return a filtered {@link Mono}