@Override
    public void run() {
        synchronized (this.lock) {
            if (isCancelled) {
                return;
            }
            hasTaskExecuted = true;
            if (!thread.isInterrupted()) {
                thread.interrupt();
            }
            if (!currentHttpRequest.isAborted()) {
                currentHttpRequest.abort();
            }
        }
    }
Implementation of {@link ClientExecutionAbortTask} that interrupts the caller thread and aborts
any HTTP request when triggered
aws-java-sdk-core/src/main/java/com/amazonaws/http/timers/client/ClientExecutionAbortTaskImpl.java