@Override public void handleEvent(Event event) { if (!DocumentRoutingConstants.Events.afterRouteFinish.name().equals(event.getName())) { return; } DocumentEventContext docCtx = (DocumentEventContext) event.getContext(); CoreSession session = docCtx.getCoreSession(); DocumentModel routeInstanceDoc = docCtx.getSourceDocument(); List<Task> openTasks = Framework.getService(TaskService.class).getAllTaskInstances( routeInstanceDoc.getId(), session); for (Task task : openTasks) { getDocumentRoutingService().cancelTask(session, task.getId()); } }