code: protected static void reportSuccessOrFailure(CircuitBreaker circuitBreaker,
                                                   CompletionStage<Boolean> future) {
          future.handle((success, unused) -> {
              if (success != null) {
                  if (success) {
                      circuitBreaker.onSuccess();
                  } else {
                      circuitBreaker.onFailure();
                  }
              } else {
                  // Ignore, because 'null' means the user does not want to count as a success nor failure.
              }
              return null;
          }).exceptionally(CompletionActions::log);
      }
docs: Reports a success or a failure to the specified {@link CircuitBreaker} according to the completed value
  of the specified {@code future}. If the completed value is {@code null}, this doesn't do anything.