public StateMachineContext(IStateMachine stateMachine, object currentState, object domainContext, IStateMachineContextPersistenceService persistenceService)
            : base(stateMachine)
        {
            if (stateMachine == null)
            {
                throw new ArgumentNullException("stateMachine");
            }

            PersistenceService = persistenceService;

            DomainContext = domainContext;

            if (currentState != null)
            {
                CurrentState = StateMachine.FindState(currentState);
            }
        }
 public StateMachineContext(IStateMachine stateMachine, object domainContext, IStateMachineContextPersistenceService persistenceService)
     : this(stateMachine, null, domainContext, persistenceService)
 {
 }