@Override public void write(PrintWriter writer, int indent) { writeIndent(indent, writer); if (_children != null && _children.size() > 0) { writer.print("<"); writer.print(_name); writeAttributes(writer); writer.print(">"); if (_children.size() == 1 && _children.get(0) instanceof ERXML.Text) { _children.get(0).write(writer, 0); } else { writer.println(); for (ERXML.Node node : _children) { node.write(writer, indent + 1); } writeIndent(indent, writer); } writer.print("</"); writer.print(_name); writer.println(">"); } else { writer.print("<"); writer.print(_name); writeAttributes(writer); writer.println(" />"); } }