reactor-core/src/main/java/reactor/core/publisher/Mono.java
public final <U> Mono<U> ofType(final Class<U> clazz) {
		Objects.requireNonNull(clazz, "clazz");
		return filter(o -> clazz.isAssignableFrom(o.getClass())).cast(clazz);
	}
public final <U> Mono<U> ofType(final Class<U> clazz) {
		Objects.requireNonNull(clazz, "clazz");
		return filter(o -> clazz.isAssignableFrom(o.getClass())).cast(clazz);
	}
Evaluate the emitted value against the given {@link Class} type. If the
value matches the type, it is passed into the new {@link Mono}. Otherwise the
value is ignored.

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

@param clazz the {@link Class} type to test values against

@return a new {@link Mono} filtered on the requested type