// Path: moshas/src/main/java/net/unit8/moshas/cache/TemplateCache.java
// public interface TemplateCache {
//     Template getTemplate(String source);
// 
//     void putTemplate(String source, Template template);
// }


import net.unit8.moshas.cache.TemplateCache;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
package net.unit8.moshas;



public class ConcurrentHashMapTemplateCache implements TemplateCache {
    ConcurrentMap<String, Template> cache;

// Path: moshas/src/main/java/net/unit8/moshas/cache/TemplateCache.java
// public interface TemplateCache {
//     Template getTemplate(String source);
// 
//     void putTemplate(String source, Template template);
// }


// Path: moshas/src/test/java/net/unit8/moshas/ConcurrentHashMapTemplateCache.java
import net.unit8.moshas.cache.TemplateCache;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;

package net.unit8.moshas;



public class ConcurrentHashMapTemplateCache implements TemplateCache {
    ConcurrentMap<String, Template> cache;

    public ConcurrentHashMapTemplateCache() {