code: public final <E extends Throwable> Flux<T> onErrorContinue(Predicate<E> errorPredicate,
  			BiConsumer<Throwable, Object> errorConsumer) {
  		//this cast is ok as only T values will be propagated in this sequence
  		@SuppressWarnings("unchecked")
  		Predicate<Throwable> genericPredicate = (Predicate<Throwable>) errorPredicate;
  		BiConsumer<Throwable, Object> genericErrorConsumer = errorConsumer;
  		return subscriberContext(Context.of(
  				OnNextFailureStrategy.KEY_ON_NEXT_ERROR_STRATEGY,
  				OnNextFailureStrategy.resumeIf(genericPredicate, genericErrorConsumer)
  		));
  	}
docs: Let compatible operators <strong>upstream</strong> recover from errors by dropping the
  incriminating element from the sequence and continuing with subsequent elements.
  Only errors matching the {@link Predicate} are recovered from (note that this
  predicate can be applied several times and thus must be idempotent).
  The recovered error and associated value are notified via the provided {@link BiConsumer}.
  Alternatively, throwing from that biconsumer will propagate the thrown exception downstream
  in place of the original error, which is added as a suppressed exception to the new one.
  <p>
  <img class="marble" src="doc-files/marbles/onErrorContinueWithPredicate.svg" alt="">
  <p>
  Note that this error handling mode is not necessarily implemented by all operators
  (look for the {@code Error Mode Support} javadoc section to find operators that
  support it).
  
  @param errorPredicate a {@link Predicate} used to filter which errors should be resumed from.
  This MUST be idempotent, as it can be used several times.
  @param errorConsumer a {@link BiConsumer} fed with errors matching the predicate and the value
  that triggered the error.
  @return a {@link Flux} that attempts to continue processing on some errors.