protected override IExpressionNode CloneInternal()
        {
            var node = new XmlElementExpressionNode((XmlValueExpressionNode)_startTag.Clone(), _name, Start, End)
            {
                EndTag      = (XmlValueExpressionNode)_endTag.Clone(),
                StartTagEnd = (XmlValueExpressionNode)_startTagEnd.Clone()
            };

            foreach (XmlExpressionNode element in _elements)
            {
                node.AddElement((XmlExpressionNode)element.Clone());
            }

            foreach (XmlExpressionNode element in _attributes)
            {
                node.AddAttribute((XmlAttributeExpressionNode)element.Clone());
            }
            return(node);
        }
 protected override IExpressionNode CloneInternal()
 {
     return(new XmlAttributeExpressionNode((XmlValueExpressionNode)_name.Clone(), (XmlValueExpressionNode)_equal.Clone(),
                                           (XmlValueExpressionNode)_value.Clone(), Start, End));
 }