private void abort() {
      aborted.set(true);
      if (hasStarted.compareAndSet(false, true)) {
        try {
          task.abortBeforeRun();
        } finally {
          tasks.remove(this);
          signalDone();
        }
      }
    }
true if the task is complete
geode-core/src/main/java/org/apache/geode/internal/util/AbortableTaskService.java