code: @Override
      public String getTemplateURI(String controllerName, String templateName, boolean includeExtension) {
          if (templateName.startsWith(SLASH_STR)) {
              return getAbsoluteTemplateURI(templateName, includeExtension);
          }
          else if(templateName.startsWith(RELATIVE_STRING)) {
              return getRelativeTemplateURIInternal(templateName, includeExtension);
          }
  
          FastStringWriter buf = new FastStringWriter();
          String pathToTemplate = BLANK;
  
          int lastSlash = templateName.lastIndexOf(SLASH);
          if (lastSlash > -1) {
              pathToTemplate = templateName.substring(0, lastSlash + 1);
              templateName = templateName.substring(lastSlash + 1);
          }
          if(controllerName != null) {
              buf.append(SLASH)
                      .append(controllerName);
          }
          buf.append(SLASH)
                  .append(pathToTemplate)
                  .append(UNDERSCORE)
                  .append(templateName);
  
          if(includeExtension) {
              return buf.append(EXTENSION).toString();
          }
          else {
              return buf.toString();
          }
      }
docs: Obtains the URI to a template using the controller name and template name
  @param controllerName The controller name
  @param templateName The template name
  @param includeExtension The flag to include the template extension
  @return The template URI