Node root, Map<String, Class<?>> parameterTypes) throws ParseException,
IOException {
if (logger != null && logger.isDebugEnabled()) {
logger.debug("Interprete template " + resource.getName());
}
InterpretedTemplate template = new InterpretedTemplate(resource, root, null);
template.setInterceptor(interceptor);
template.setMapConverter(mapConverter);
template.setOutConverter(outConverter);
template.setFormatter(formatter);
template.setValueFilter(valueFilter);
template.setTextFilter(textFilter);
template.setForVariable(forVariable);
template.setIfVariable(ifVariable);
template.setOutputEncoding(outputEncoding);
template.setImportSequences(importSequences);
template.setImportMethods(functions);
template.setImportMacros(importMacroTemplates);
template.setImportPackages(importPackages);
template.setTextFilterSwitcher(textFilterSwitcher);
template.setValueFilterSwitcher(valueFilterSwitcher);
template.setFormatterSwitcher(formatterSwitcher);
template.setFilterVariable(filterVariable);
template.setFormatterVariable(formatterVariable);
template.setDefaultVariableType(defaultVariableType);
template.init();
return template;
}