protected TState GetStateFromHiddenField() { if (!HttpContext.Request.HasFormContentType) { return(StateMachine.DefaultInitialState); } var from = HttpContext.Request.Form; if (!from.ContainsKey(StateInputKey)) { return(StateMachine.DefaultInitialState); } var state = _stateContext.GetStateKeyFromToken(from[StateInputKey]); return(_states.Single(s => s.Key == state) as TState); }