code: @Override
      @FFDCIgnore({ ExecutionException.class })
      public boolean isCancelled() {
          Future<Future<R>> resultFuture = getResultFuture();
          if (resultFuture.isDone()) {
              if (resultFuture.isCancelled()) {
                  return true;
              } else {
                  try {
                      Future<R> innerFuture = resultFuture.get();
                      return innerFuture.isCancelled();
                  } catch (InterruptedException e) {
                      //outerFuture was done so we should never get an interrupted exception
                      throw new FaultToleranceException(e);
                  } catch (ExecutionException e) {
                      //this is most likely to be caused if an exception is thrown from the business method ... or a TimeoutException
                      //either way, the future was not cancelled
                      return false;
                  }
              }
          } else {
              return false;
          }
      }
docs: {@inheritDoc}