code: @Override
      @FFDCIgnore(Throwable.class)
      public void run() {
          Future<R> result = null;
          Throwable thrownException = null;
  
          try {
              ArrayList<ThreadContext> contextAppliedToThread = null;
              if (this.threadContext != null) {
                  //apply the JEE contexts to the thread before calling the inner task
                  contextAppliedToThread = this.threadContext.taskStarting();
              }
              try {
                  result = innerTask.call();
              } finally {
                  if (contextAppliedToThread != null) {
                      //remove the JEE contexts again since the thread will be re-used
                      this.threadContext.taskStopping(contextAppliedToThread);
                  }
              }
          } catch (Throwable e) {
              if (e instanceof com.ibm.ws.microprofile.faulttolerance.spi.ExecutionException) {
                  thrownException = e.getCause();
              } else {
                  thrownException = e;
              }
          } finally {
              // We've finished running and caught any exceptions that occurred, now store the result in the resultFuture
              // If abort() has already been called then the result future will already be completed and the result (or exception) here is discarded.
              if (thrownException == null) {
                  resultFuture.complete(result);
              } else {
                  resultFuture.completeExceptionally(thrownException);
              }
          }
      }
docs: Run the task and store the result in the {@link #resultFuture}