}
if (twoPass) {
//1st pass in 2 pass
log.debug("1st pass in 2 pass");
StartEvent startEvent = new StartEvent( settings.getWmlPackage(), WellKnownProcessSteps.FOP_RENDER_PASS1 );
startEvent.publish();
placeholderLookup = new FopPlaceholderLookup(pageNumberInformation);
formattingResults = calcResults(fopFactory, apacheFopMime, foDocumentSrc, placeholderLookup);
placeholderLookup.setResults(formattingResults);
foDocumentSrc = new StreamSource(new StringReader(foDocument));
new EventFinished(startEvent).publish();
}
//1st pass in 1 pass or 2nd pass in 2 pass
if (TEXTBOX_POSTPROCESSING_REQUIRED) {
// System.out.println("\n\n performing TEXTBOX_POSTPROCESSING \n\n");
DOMResult result = new DOMResult();
org.docx4j.XmlUtils.transform(foDocumentSrc, xslt_POSTPROCESSING, null, result);
org.w3c.dom.Document docResult = ((org.w3c.dom.Document)result.getNode());
String modifiedFO = XmlUtils.w3CDomNodeToString(docResult);
log.debug("After moving! \n" + modifiedFO);
foDocumentSrc = new StreamSource(new StringReader(modifiedFO));
}
StartEvent startEvent = new StartEvent( settings.getWmlPackage(), WellKnownProcessSteps.FOP_RENDER_PASS1 );
startEvent.publish();
render(fopFactory, apacheFopMime, foDocumentSrc, placeholderLookup, outputStream);
new EventFinished(startEvent).publish();
}