tdSplit.setAuto(false);
	public void testDirectRecursiveSplit() throws Exception {		MockProcessDef pd = new MockProcessDef("testDirectRecursiveSplit");		MockTaskDef tdSplit = new SplitTaskDef(pd,"Split");		pd.setFirstTask(tdSplit);		tdSplit.setAuto(false);				tdSplit.addRoutingOut(tdSplit).setName("Goto Split");				MockTaskDef tdJoin = new JoinTaskDef(pd,"Join");		tdSplit.addRoutingOut(tdJoin).setName("Goto Join");						MockStateFactory msf = new MockStateFactory();		IEngine engine = new Engine(msf);				MockProcessInstance pi = (MockProcessInstance) engine.createProcess(pd);		engine.startProcess(pi);						MockTaskInstance ti = pi.findTask(tdSplit,MockTaskInstance.STATE_READY);				ti.setConditionAction("Goto Split");				engine.transitionTask(ti);				ti = pi.findTask(tdSplit,MockTaskInstance.STATE_READY);				ti.setConditionAction("Goto Join");				engine.transitionTask(ti);				/*		 * check expected results		 */		assertEquals(0,pi.getTaskInstances().size());		assertEquals(2,msf.countInstances(tdSplit,MockTaskInstance.STATE_DELETED));		assertEquals(1,msf.countInstances(tdJoin,MockTaskInstance.STATE_DELETED));			}