code: public String getTemplateNameForResult(Route route, Result response) {
          String template = response.template();
          
          if (template == null) {
              if (route != null) {
                  String controllerPath = RouterHelper.getReverseRouteFast(route.getController());
                  
                  // Look for a controller named template first
                  if (new File(realPath + controllerPath + templateSuffix).exists()) {
                      return controllerPath;
                  }
                  
                  //TODO Route(r).reverseRoute
                  return controllerPath + "/" + route.getActionName();
              } else {
                  return null;
              }
          } else {
              if (template.endsWith(templateSuffix)) {
                  return template.substring(0, template.length() - templateSuffixLengthToRemove);
              }
              return template;
          }
      }
docs: If the template is specified by the user with a suffix corresponding to the template engine suffix, then this is
  removed before returning the template.
  Suffixes such as .st or .ftl.html
  @param route
  @param response
  @return