@ Override public synchronized boolean cancel ( boolean mayInterruptIfRunning ) { if ( isDone ( ) ) return false ; boolean cancelResult = super . cancel ( mayInterruptIfRunning ) ; if ( delegate != null ) cancelResult = delegate . cancel ( mayInterruptIfRunning ) ; Throwable failure = new CancellationException ( ) ; complete ( null , failure ) ; executor . handleComplete ( ExecutionResult . failure ( failure ) , execution ) ; return cancelResult ; }
Cancels this and the internal delegate .