public Microsoft.XLANGs.Core.StopConditions segment0(Microsoft.XLANGs.Core.StopConditions stopOn) { Microsoft.XLANGs.Core.Segment __seg__ = _segments[0]; Microsoft.XLANGs.Core.Context __ctx__ = (Microsoft.XLANGs.Core.Context)_stateMgrs[0]; __sample_root_0 __ctx0__ = (__sample_root_0)_stateMgrs[0]; __sample_1 __ctx1__ = (__sample_1)_stateMgrs[1]; switch (__seg__.Progress) { case 0: RCV = new PortType_RCV(0, this); Send = new PortType_Send(1, this); __ctx__.PrologueCompleted = true; __ctx0__.__subWrapper0 = new Microsoft.XLANGs.Core.SubscriptionWrapper(ActivationSubGuids[0], RCV, this); if (!PostProgressInc(__seg__, __ctx__, 1)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } if ((stopOn & Microsoft.XLANGs.Core.StopConditions.Initialized) != 0) { return(Microsoft.XLANGs.Core.StopConditions.Initialized); } goto case 1; case 1: __ctx1__ = new __sample_1(this); _stateMgrs[1] = __ctx1__; if (!PostProgressInc(__seg__, __ctx__, 2)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 2; case 2: __ctx0__.StartContext(__seg__, __ctx1__); if (!PostProgressInc(__seg__, __ctx__, 3)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } return(Microsoft.XLANGs.Core.StopConditions.Blocked); case 3: if (!__ctx0__.CleanupAndPrepareToCommit(__seg__)) { return(Microsoft.XLANGs.Core.StopConditions.Blocked); } if (!PostProgressInc(__seg__, __ctx__, 4)) { return(Microsoft.XLANGs.Core.StopConditions.Paused); } goto case 4; case 4: __ctx1__.Finally(); ServiceDone(__seg__, (Microsoft.XLANGs.Core.Context)_stateMgrs[0]); __ctx0__.OnCommit(); break; } return(Microsoft.XLANGs.Core.StopConditions.Completed); }