protected override void LoadViewState(object savedState)
		{
			base.LoadViewState(savedState);		
			_actionIndex = (int)ViewState[_KH_VS_ACTIONINDEX];
			_stateIndex = (int)ViewState[_KH_VS_STATEINDEX];
			_editMode = (EditMode)ViewState[_KH_VS_EDITMODE];
			_workflowEditMode = (EditMode)ViewState[_KH_VS_WORKFLOWEDITMODE];
            _workflowId = (Guid)ViewState[_KH_VS_WORKFLOWID];
            _workflow = _template.FindWorkflow(_workflowId);
            _action = _workflow.States[_stateIndex].Actions[_actionIndex];   // (Business.Action)ViewState[_KH_VS_ACTION];
			if (_template.SecurityModel == Business.SecurityModel.Advanced)
			{
				_selectedTermGroupId = (Guid)ViewState[_KH_VS_SELECTEDTERMGROUPID];
			}
            _orgStates = (List<Business.State>)ViewState[_KH_VS_ORGSTATES];
        }
		private void GetContextData()
		{
			_editMode = (EditMode)Context.Items[Common.Names._CNTXT_EditMode];
			_workflowEditMode = (EditMode)Context.Items[Common.Names._CNTXT_WorkflowEditMode];
			_actionIndex = (int)Context.Items[Common.Names._CNTXT_ActionIndex];
			_stateIndex = (int)Context.Items[Common.Names._CNTXT_StateIndex];
			_workflowId = (Guid)Context.Items[Common.Names._CNTXT_WorkflowId];
            _workflow = _template.FindWorkflow(_workflowId);
            if (_template.SecurityModel == Business.SecurityModel.Advanced)
            {
                _selectedTermGroupId = (Guid)Context.Items[Common.Names._CNTXT_TermGroupId];
            }
			_action = _workflow.States[_stateIndex].Actions[_actionIndex];
            _orgStates = (List<Business.State>)Context.Items[Common.Names._CNTXT_OrgStates];
            if (_action == null)
				throw new Exception("Action not found.");
		}