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();
   }
 }