@Override
    public void stop(Throwable cause) throws Exception {
        stopping = true;
        if (task != null) {
            task.cancel(true);
        }
        super.stop(cause);
    }
@ Override public void stop ( Throwable cause ) throws Exception { stopping = true ; if ( task != null ) { task . cancel ( true ) ; } super . stop ( cause ) ; }
If the computation is going synchronously, try to cancel that.