private void serializeElement(GlueElement element, XMLBuffer xmlBuffer) { if (element.isSynthetic()) { for (GlueElement child : element.getChildren()) { serializeElement(child, xmlBuffer); } } else { for (GlueAuxiliary auxiliary : element.getFront()) { serializeAuxiliary(auxiliary, xmlBuffer); } xmlBuffer.beginElement(element.getTagName()); serializeAttributes(element, xmlBuffer); if (element.getChildren().isEmpty()) { for (GlueAuxiliary auxiliary : element.getContent()) { serializeAuxiliary(auxiliary, xmlBuffer); } } else { for (GlueElement child : element.getChildren()) { serializeElement(child, xmlBuffer); } for (GlueAuxiliary auxiliary : element.getTail()) { serializeAuxiliary(auxiliary, xmlBuffer); } } xmlBuffer.endElement(); } }