code: public final Flux<T> filter(Predicate<? super T> p) {
  		if (this instanceof Fuseable) {
  			return onAssembly(new FluxFilterFuseable<>(this, p));
  		}
  		return onAssembly(new FluxFilter<>(this, p));
  	}
docs: Evaluate each source value against the given {@link Predicate}. If the predicate test succeeds, the value is
  emitted. If the predicate test fails, the value is ignored and a request of 1 is made upstream.
  
  <p>
  <img class="marble" src="doc-files/marbles/filterForFlux.svg" alt="">
  
  @param p the {@link Predicate} to test values against
  
  @reactor.errorMode This operator supports {@link #onErrorContinue(BiConsumer) resuming on errors}
  (including when fusion is enabled). Exceptions thrown by the predicate are
  considered as if the predicate returned false: they cause the source value to be
  dropped and a new element ({@code request(1)}) being requested from upstream.
  
  @reactor.discard This operator discards elements that do not match the filter. It
  also discards elements internally queued for backpressure upon cancellation or error triggered by a data signal.
  
  @return a new {@link Flux} containing only values that pass the predicate test