private synchronized TemplateSource getTemplateSource(Path path){
    if (path==null)
      throw new IllegalArgumentException("Null path");
    TemplateSource ts=(TemplateSource)templateSources.get(path);
    if (ts!=null)
      return ts;
    ts=new TemplateSource(
      textLoadMgr.getSource(path),
      templateBuilder, 
      objFormatter, 
      templateInterceptor
    );
    templateSources.put(path, ts);
    return ts;
  }