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

            msvVersion        = new SpecVersionDescription(this);
            maActions         = new ActionsDescription(this);
            msvStateVariables = new StateVariablesDescription(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 (SpecVersionDescription.IsStartNodeFor(reader))
            {
                msvVersion = new SpecVersionDescription(this, reader);
                return(true);
            }
            else
            if (ActionsDescription.IsStartNodeFor(reader))
            {
                maActions.AddItemsFrom(reader);
                return(true);
            }
            else
            if (StateVariablesDescription.IsStartNodeFor(reader))
            {
                msvStateVariables.AddItemsFrom(reader);
                return(true);
            }

            return(false);
        }