private void executeNotificationAction(WorkItemType workItem, @NotNull WorkItemNotificationActionType notificationAction, Task wfTask, OperationResult result) throws SchemaException { WorkItemEventCauseInformationType cause = WfContextUtil.createCause(notificationAction); if (BooleanUtils.isNotFalse(notificationAction.isPerAssignee())) { List<ObjectReferenceType> assigneesAndDeputies = wfTaskController.getAssigneesAndDeputies(workItem, wfTask, result); for (ObjectReferenceType assigneeOrDeputy : assigneesAndDeputies) { wfTaskController.notifyWorkItemCustom(assigneeOrDeputy, workItem, cause, wfTask, notificationAction, result); } } else { wfTaskController.notifyWorkItemCustom(null, workItem, cause, wfTask, notificationAction, result); } }