@Override
protected T parse(VFSDeploymentUnit unit, VirtualFile file, T root) throws Exception
{
if (file == null)
throw new IllegalArgumentException("Null file");
Document document = doParse(unit, file);
Transformer trans = getTemplates().newTransformer();
trans.setErrorListener(new JBossErrorHandler(file.getPathName(), null));
Source s = new DOMSource(document);
s.setSystemId(file.toURI().toString());
DOMResult r = new DOMResult();
setParameters(trans);
trans.transform(s, r);
document = (Document) r.getNode();
String docStr = DOMWriter.printNode(document, true);
log.debugf("Transformed %1s into %2s", file.getPathName(), docStr);
return parse(unit, file, document);
}