code: @Nullable
  	public static <T> RuntimeException onNextPollError(T value, Throwable error, Context context) {
  		error = unwrapOnNextError(error);
  		OnNextFailureStrategy strategy = onNextErrorStrategy(context);
  		if (strategy.test(error, value)) {
  			//some strategies could still return an exception, eg. if the consumer throws
  			Throwable t = strategy.process(error, value, context);
  			if (t != null) return Exceptions.propagate(t);
  			return null;
  		}
  		else {
  			Throwable t = onOperatorError(null, error, value, context);
  			return Exceptions.propagate(t);
  		}
  	}
docs: Find the {@link OnNextFailureStrategy} to apply to the calling async operator (which could be
  a local error mode defined in the {@link Context}) and apply it.
  <p>
  Returns a {@link RuntimeException} if errors are fatal for the error mode, in which
  case the operator poll should throw the returned error. On the contrary if the
  error mode allows the sequence to continue, returns {@code null} in which case
  the operator should retry the {@link Queue#poll() poll()}.
  
  @param value The onNext value that caused an error.
  @param error The error.
  @param context The most significant {@link Context} in which to look for an {@link OnNextFailureStrategy}.
  @param <T> The type of the value causing the error.
  @return a {@link Throwable} to propagate through onError if the strategy is
  terminal and cancelled the subscription, null if not.