/// <summary>
 /// Creates an instance of a state if necessary.
 /// </summary>
 internal void InstantiateState()
 {
     // Should a new instance be created?
     if ((_stateInstance == null) || (_owningMachine._stateInstantiationMode == StateInstantiationMode.PerTransition))
     {
         _stateInstance = _owningMachine.InstantiateState(_stateType);
     }
 }