public void QueueState(T newState, System.Object context) { if (currentState.HasValue && currentState.Value.Equals(newState)) { if (QLogger.CanLogWarning) { QLogger.LogWarning(" Setting same state again " + newState.ToString()); } return; } if (QLogger.CanLogInfo) { QLogger.LogInfo(string.Format("FSM:Queued \"{0}\" state ", newState)); } nextState = newState; contextForNextState = context; }