public IEnumerable <object> GetMarkers(IStateMachine stateMachine)
 {
     if (_stateMachineController.ChangeStateActionItemsMode == ChangeStateActionItemsMode.GroupByStateMachine)
     {
         var choiceActionItem = GetStateMachineChoiceActionItem(stateMachine);
         if (choiceActionItem != null)
         {
             var markers = choiceActionItem.Items.Select(actionItem => ((ITransition)actionItem.Data).TargetState.Marker);
             return(markers.Concat(choiceActionItem.Items.Where(IsAvailable).Select(actionItem
                                                                                    => ((ITransition)actionItem.Data).GetSourceState().Marker)));
         }
         return(new[] { stateMachine.FindCurrentState(View.CurrentObject).Marker });
     }
     return(_stateMachineController.ChangeStateAction.Items.Where(IsAvailable).Select(item =>
                                                                                      ((ITransition)item.Data).TargetState.Marker).Concat(new[] { stateMachine.FindCurrentState(View.CurrentObject).Marker }));
 }