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