XMLOutput newOutput = createXMLOutput(writer);
try {
// we need to avoid multiple start/end document events
newOutput.setContentHandler(
new SafeContentHandler(newOutput.getContentHandler())
);
newOutput.startDocument();
invokeBody(newOutput);
newOutput.endDocument();
}