}
}
protected String render(String templateName, SoyMapData model, SoyMapData ijData, Locale locale) {
Renderer renderer;
synchronized (cacheLock) {
if (config.isDisableCaching()) {
flush();
}
if (tofu == null) {
compile();
}
renderer = tofu.newRenderer(templateName);
}
final SoyMsgBundle msgBundle = locale != null ? msgBundleCache.getUnchecked(locale) : null;
return renderer.setData(model)
.setMsgBundle(msgBundle)
.setIjData(ijData)
.render();
}