session.delete(processInstance);
}
}
private void deleteSubProcesses(ExecutionImpl execution, boolean deleteHistory) {
ExecutionImpl subProcessInstance = execution.getSubProcessInstance();
if (subProcessInstance!=null) {
subProcessInstance.setSuperProcessExecution(null);
execution.setSubProcessInstance(null);
deleteProcessInstance(subProcessInstance.getId(), deleteHistory);
}
Collection<ExecutionImpl> childExecutions = execution.getExecutions();
if (childExecutions!=null) {
for (ExecutionImpl childExecution: childExecutions) {
deleteSubProcesses(childExecution, deleteHistory);