private Mustache customCompile(String filename, Res resource) { Map<String, Mustache> cache = partialCache.get(); try { Mustache mustache = cache.get(filename); if (mustache == null) { String template = preprocess(resource.getContent()); InputStreamReader reader = new InputStreamReader(new ByteArrayInputStream(template.getBytes())); mustache = mc.compile(reader, filename, SM, EM); cache.put(filename, mustache); mustache.init(); } return mustache; } finally { cache.remove(filename); } }