public Node getDOMNode(Document targetDoc) {
        Element node = targetDoc.createElement("peergen");
        node.setAttribute("destructive", String.valueOf(destructive));
        node.setAttribute("useInheritance", String.valueOf(useInheritance));
        node.setAttribute("useRichTypes", String.valueOf(useRichTypes));

        Element classesElement = null;

        Iterator it = getClassNames();
        while (it.hasNext()) {
            if (classesElement == null) {
                classesElement = targetDoc.createElement("input-classes");
                node.appendChild(classesElement);
            }

            Element classNameElement = targetDoc.createElement("input-class");
            classesElement.appendChild(classNameElement);
            classNameElement.setAttribute("name", (String) it.next());
        }

        if (useRichTypes == true && proxyGenSettings != null) {
            node.appendChild(proxyGenSettings.getDOMNode(targetDoc));
        }

        return node;
    }