void fireCanceled() { TaskEvent<Void> event = TaskEvent.started(task); LOG.debug("firing canceled event: {}", event); for (TaskListener<? super T> listener : listeners) { listener.canceled(event); } }