private static void ReadRegisterParser(XmlNode node, RewriterConfiguration config)
        {
            XmlNode typeNode = node.Attributes[Constants.AttrParser];

            if (typeNode == null)
            {
                throw new ConfigurationErrorsException(MessageProvider.FormatString(Message.AttributeRequired, Constants.AttrParser), node);
            }

            if (node.ChildNodes.Count > 0)
            {
                throw new ConfigurationErrorsException(MessageProvider.FormatString(Message.ElementNoElements, Constants.ElementRegister), node);
            }

            object parser = TypeHelper.Activate(typeNode.Value, null);
            IRewriteActionParser actionParser = parser as IRewriteActionParser;

            if (actionParser != null)
            {
                config.ActionParserFactory.AddParser(actionParser);
            }

            IRewriteConditionParser conditionParser = parser as IRewriteConditionParser;

            if (conditionParser != null)
            {
                config.ConditionParserPipeline.AddParser(conditionParser);
            }
        }
 /// <summary>
 /// Adds a parser.
 /// </summary>
 /// <param name="parser">The parser.</param>
 public void AddParser(IRewriteConditionParser parser)
 {
     InnerList.Add(parser);
 }
 /// <summary>
 ///     Adds a parser.
 /// </summary>
 /// <param name="parser">The parser.</param>
 public void AddParser(IRewriteConditionParser parser)
 {
     InnerList.Add(parser);
 }