/// <summary>
        /// Initialises the state variable description.
        /// </summary>
        protected override void Initialise()
        {
            base.Initialise();

            maAllowedValues = new AllowedValuesDescription(this);
            marAllowedRange = new AllowedValueRangeDescription(this);
        }
        /// <summary>
        /// Uses an XML node for this description.
        /// </summary>
        /// <param name="reader">The XML reader to use the node from.</param>
        /// <param name="lastNodeName">The last node name.</param>
        /// <returns>True if the node was processed false otherwise.</returns>
        protected override bool UseNode(XmlTextReader reader, string lastNodeName)
        {
            if (AllowedValuesDescription.IsStartNodeFor(reader))
            {
                maAllowedValues.AddItemsFrom(reader);
                return(true);
            }
            else
            if (AllowedValueRangeDescription.IsStartNodeFor(reader))
            {
                marAllowedRange = new AllowedValueRangeDescription(this, reader);
                return(true);
            }

            return(false);
        }
        /// <summary>
        /// Uses an XML node for this description.
        /// </summary>
        /// <param name="reader">The XML reader to use the node from.</param>
        /// <param name="lastNodeName">The last node name.</param>
        /// <returns>True if the node was processed false otherwise.</returns>
        protected override bool UseNode(XmlTextReader reader, string lastNodeName)
        {
            if (AllowedValuesDescription.IsStartNodeFor(reader))
            {
                maAllowedValues.AddItemsFrom(reader);
                return true;
            }
            else
                if (AllowedValueRangeDescription.IsStartNodeFor(reader))
                {
                    marAllowedRange = new AllowedValueRangeDescription(this, reader);
                    return true;
                }

            return false;
        }
        /// <summary>
        /// Initialises the state variable description.
        /// </summary>
        protected override void Initialise()
        {
            base.Initialise();

            maAllowedValues = new AllowedValuesDescription(this);
            marAllowedRange = new AllowedValueRangeDescription(this);
        }