code: void addCallbacks(Consumer<? super T> successCallback, Consumer<Throwable> failureCallback, Executor executor) {
          Objects.requireNonNull(successCallback, "'successCallback' must not be null");
          Objects.requireNonNull(failureCallback, "'failureCallback' must not be null");
          Objects.requireNonNull(executor, "'executor' must not be null");
  
          synchronized (mutex) {
              state = state.addCallbacks(successCallback, failureCallback, executor);
          }
      }
docs: Adds the given callbacks to this registry.