code: public synchronized MiniTemplator get(MiniTemplator.TemplateSpecification templateSpec)
              throws IOException, MiniTemplator.TemplateSyntaxException {
          String key = generateCacheKey(templateSpec);
          MiniTemplator mt = cache.get(key);
          if (mt == null) {
              mt = new MiniTemplator(templateSpec);
              cache.put(key, mt);
          }
          return mt.cloneReset();
      }
docs: Returns a cloned MiniTemplator object from the cache. If there is not yet a MiniTemplator object with the
  specified <code>templateFileName</code> in the cache, a new MiniTemplator object is created and stored in the
  cache. Then the cached MiniTemplator object is cloned and the clone object is returned.
  
  @param templateSpec the template specification.
  @return a cloned and reset MiniTemplator object.