boolean () { List<TaskFuture<?>> delegates; synchronized (this) { delegates = myDelegates; if (delegates == null) { return myRequestedCancelState != null; } } for (TaskFuture<?> delegate : delegates) { if (delegate.isCancelled()) { return true; } } return false; }