if (fTagToVariableMap == null) {
fTagToVariableMap = new StackMap();
}
fTranslationProblems.clear();
setCurrentNode(new ZeroStructuredDocumentRegion(fStructuredDocument, 0));
translatePreludes();
setCurrentNode(fStructuredDocument.getFirstStructuredDocumentRegion());
while (getCurrentNode() != null && !isCanceled()) {
//no code has been translated for this region yet
fCodeTranslated = false;
// intercept HTML comment flat node
// also handles UNDEFINED (which is what CDATA comes in as)
// basically this part will handle any "embedded" JSP containers
if (getCurrentNode().getType() == DOMRegionContext.XML_COMMENT_TEXT || getCurrentNode().getType() == DOMRegionContext.XML_CDATA_TEXT || getCurrentNode().getType() == DOMRegionContext.UNDEFINED) {
translateXMLCommentNode(getCurrentNode());
}
else {
// iterate through each region in the flat node
translateRegionContainer(getCurrentNode(), STANDARD_JSP);
}
//if no code was translated for this region then found "non translated code"
if(!fCodeTranslated) {
fFoundNonTranslatedCode = true;
}
if (getCurrentNode() != null)
advanceNextNode();
}
writePlaceHolderForNonTranslatedCode();
setCurrentNode(new ZeroStructuredDocumentRegion(fStructuredDocument, fStructuredDocument.getLength()));
translateCodas();
/*
* Any contents left in the map indicate start tags that never had end
* tags. While the '{' that is present without the matching '}' should