" taskService.complete(task.getId(), actorId, results);\n" + "\n"; return processNodes(name, ((NodeImpl) currentNode).getTo().getTo(), testCode, cases, ongoingCases); } else if (currentNode instanceof WorkItemNode) { WorkItemNode taskNode = (WorkItemNode) currentNode; testCode += " // if necessary, complete request for service task \"" + taskNode.getWork().getName() + "\"\n"; return processNodes(name, ((NodeImpl) currentNode).getTo().getTo(), testCode, cases, ongoingCases); } else if (currentNode instanceof EventNode) { EventNode eventNode = (EventNode) currentNode; testCode += " ksession.signalEvent(\"" + eventNode.getType() + "\", null, processInstance.getId());\n"; return processNodes(name, ((NodeImpl) currentNode).getTo().getTo(), testCode, cases, ongoingCases); } else if (currentNode instanceof TimerNode) { testCode += return processNodes(name, ((NodeImpl) currentNode).getTo().getTo(), testCode, cases, ongoingCases); } else if (currentNode instanceof ForEachNode) { CompositeNode compositeNode = ((ForEachNode) currentNode).getCompositeNode(); testCode = ongoingCases.values().iterator().next() + " // <-- do this for each element in the collection:\n"; return processNodes(name + "Implicit", ((NodeImpl) currentNode).getTo().getTo(), testCode, cases, ongoingCases); } else { throw new IllegalArgumentException("Could not create implicit case: " + ongoingCases.size()); } else { if (ongoingCases.size() == 1) { return processNodes(name + "Implicit", ((NodeImpl) currentNode).getTo().getTo(), ongoingCases.values().iterator().next(), cases, ongoingCases);