code: protected CompletableFuture<ExecutionResult> onFailureAsync(ExecutionResult result, Scheduler scheduler,
        FailsafeFuture<Object> future) {
      return CompletableFuture.completedFuture(onFailure(result));
    }
docs: Performs potentially asynchrononus post-execution handling for a failed {@code result}, possibly creating a new
  result, else returning the original {@code result}.