@Override public void internalSuspend(final String key) { Pair<WorkflowResult<String>, Boolean> updated = uwfAdapter.internalSuspend(key); // propagate suspension if and only if it is required by policy if (updated != null && updated.getRight()) { UserPatch userPatch = new UserPatch(); userPatch.setKey(updated.getLeft().getResult()); List<PropagationTaskInfo> taskInfos = propagationManager.getUserUpdateTasks(new WorkflowResult<>( Pair.of(userPatch, Boolean.FALSE), updated.getLeft().getPropByRes(), updated.getLeft().getPerformedTasks())); taskExecutor.execute(taskInfos, false); } }