def METHOD_NAME(self):
    self.workflow = BpmnWorkflow(self.spec, self.subprocesses)
    self.save_restore()
    self.do_next_exclusive_step('Select Test', choice='Message Non Interrupt')
    self.workflow.do_engine_steps()
    self.save_restore()
    self.assertEqual(1, len(self.workflow.get_tasks(TaskState.READY)))
    self.assertEqual(2, len(self.workflow.get_tasks(TaskState.WAITING)))
    self.do_next_exclusive_step('Do Something That Takes A Long Time')
    self.save_restore()
    self.workflow.do_engine_steps()
    self.assertEqual(0, len(self.workflow.get_tasks(TaskState.WAITING)))
    self.save_restore()
    self.workflow.do_engine_steps()
    self.assertEqual(0, len(self.workflow.get_tasks(TaskState.READY | TaskState.WAITING)))