/// <summary></summary>
        protected virtual bool UpdateSelectorStackNodeState(List <FocusFrameSelectorList> selectorStack, ref IFocusNodeStateView currentStateView)
        {
            IFocusInner     ParentInner = currentStateView.State.ParentInner;
            IFocusNodeState ParentState = currentStateView.State.ParentState;

            if (ParentInner == null)
            {
                Debug.Assert(ParentState == null);
                return(false);
            }

            Debug.Assert(ParentState != null);

            currentStateView = (IFocusNodeStateView)ControllerView.StateViewTable[ParentState];
            IFocusNodeTemplate Template = currentStateView.Template as IFocusNodeTemplate;

            Debug.Assert(Template != null);

            if (Template.FrameSelectorForProperty(ParentInner.PropertyName, out IFocusFrameWithSelector Frame))
            {
                if (Frame != null)
                {
                    if (Frame.Selectors.Count > 0)
                    {
                        selectorStack.Insert(0, Frame.Selectors);
                    }
                }
            }

            return(true);
        }