protected new void SetState(ParameterState newState)
        {
            if (state != newState)
            {
                state = newState;

                IContractParameterHost     current   = this;
                ParameterDelegateContainer container = null;
                while (container == null)
                {
                    current   = current.Parent;
                    container = current as ParameterDelegateContainer;
                }
                container.ChildChanged = true;
            }
        }
        protected new void SetState(ParameterState newState)
        {
            if (state != newState)
            {
                LoggingUtil.LogVerbose(this, "Setting state for '" + title + "', state = " + newState);
                state = newState;

                IContractParameterHost     current   = this;
                ParameterDelegateContainer container = null;
                while (container == null)
                {
                    current   = current.Parent;
                    container = current as ParameterDelegateContainer;
                }
                container.ChildChanged = true;
            }
        }