docs: static Throwable onOperatorError(@Nullable Subscription subscription, Throwable error, @Nullable Object dataSignal,
              Context context) {
  
          Exceptions.throwIfFatal(error);
          if (subscription != null) {
              subscription.cancel();
          }
  
          Throwable t = Exceptions.unwrap(error);
          BiFunction<? super Throwable, Object, ? extends Throwable> hook = context.getOrDefault(KEY_ON_OPERATOR_ERROR, null);
          if (hook == null && onOperatorErrorHook != null) {
              hook = getOnOperatorErrorHook();
          }
  
          if (hook == null) {
              if (dataSignal != null) {
                  if (dataSignal != t && dataSignal instanceof Throwable) {
                      t = Exceptions.addSuppressed(t, (Throwable) dataSignal);
                  }
                  // do not wrap original value to avoid strong references
                  /*
                   * else { }
                   */
              }
              return t;
          }
          return hook.apply(error, dataSignal);
      }