List<String> aliveActivityIdsAfterJump = new ArrayList<String>();//计算跳转后,哪些activity节点复活
aliveActivityIdsAfterJump.add(targetActivityId);
for (int i=0;allTokens!=null && i<allTokens.size();i++){
IToken tokenTmp = allTokens.get(i);
IWFElement workflowElement = thisProcess.findWFElementById(tokenTmp.getNodeId()); //找到拥有此token的工作流元素
if ((workflowElement instanceof Activity) && !workflowElement.getId().equals(thisActivityId)){
//注意:不能自己跳转到自己,同时此工作流元素是activity类型
aliveActivityIdsAfterJump.add(workflowElement.getId());
if (thisProcess.isReachable(targetActivityId, workflowElement.getId())
|| thisProcess.isReachable(workflowElement.getId(), targetActivityId)){
throw new EngineException(
thisTaskInst.getProcessInstanceId(),
thisTaskInst.getWorkflowProcess(),
thisTaskInst.getTaskId(),
"Jumpto refused because of the business-logic conflict!");