// Print a parse tree node.
        private void PrintNode(ICodeNodeImplementation node)
        {
            Append(indentation);
            Append("<" + node.ToString());
            PrintAttributes(node);
            PrintTypeSpecification(node);

            List <ICodeNode> childNodes = node.GetChildren();

            // Print the node's children followed by the closing tag.
            if ((childNodes != null) && (childNodes.Count() > 0))
            {
                Append(">");
                PrintLine();

                PrintChildNodes(childNodes);
                Append(indentation);
                Append("</" + node.ToString() + ">");
            }
            else
            {
                Append(" />");  // No children: Close off the tag
            }
            PrintLine();
        }
        // Print a parse tree node's attributes.
        private void PrintAttributes(ICodeNodeImplementation node)
        {
            string saveIndentation = indentation;

            indentation += indent;

            foreach (KeyValuePair <ICodeKey, Object> KVP in node)
            {
                PrintAttribute(KVP.Key.ToString(), KVP.Value);
            }

            indentation = saveIndentation;
        }
 // Print a parse tree node's type specification.
 private void PrintTypeSpecification(ICodeNodeImplementation node)
 {
 }
        // Print a parse tree node's attributes.
        private void PrintAttributes(ICodeNodeImplementation node)
        {
            string saveIndentation = indentation;
            indentation += indent;

            foreach (KeyValuePair<ICodeKey, Object> KVP in node)
                PrintAttribute(KVP.Key.ToString(), KVP.Value);

            indentation = saveIndentation;
        }
 // Print a parse tree node's type specification.
 private void PrintTypeSpecification(ICodeNodeImplementation node)
 {
 }
        // Print a parse tree node.
        private void PrintNode(ICodeNodeImplementation node)
        {
            Append(indentation);
            Append("<" + node.ToString());
            PrintAttributes(node);
            PrintTypeSpecification(node);

            List<ICodeNode> childNodes = node.GetChildren();

            // Print the node's children followed by the closing tag.
            if ((childNodes != null) && (childNodes.Count() > 0))
            {
                Append(">");
                PrintLine();

                PrintChildNodes(childNodes);
                Append(indentation);
                Append("</" + node.ToString() + ">");
            }
            else
                Append(" />");  // No children: Close off the tag

            PrintLine();
        }