private void onNextAttemptStarted(CompletionStage<Boolean> futureOutcome) {
    assert executor.inEventLoop();
    state = State.ATTEMPT_IN_PROGRESS;
    futureOutcome
        .whenCompleteAsync(this::onNextAttemptCompleted, executor)
        .exceptionally(UncaughtExceptions::log);
  }
private void onNextAttemptStarted ( CompletionStage < Boolean > futureOutcome ) { assert executor . inEventLoop ( ) ; state = State . ATTEMPT_IN_PROGRESS ; futureOutcome . whenCompleteAsync ( this :: onNextAttemptCompleted , executor ) . exceptionally ( UncaughtExceptions :: log ) ; }
the CompletableFuture to find out if that succeeded or not.