code: protected String convertToFullFilename(String relpath_or_package, String filename, String domain) throws Exception {
  
          if (relpath_or_package != null && ".".equals(relpath_or_package.trim())) {
              log.warn("******** BUG IN FilenameUtils ==============> " + normalize(relpath_or_package.replace('.', separatorChar) + separatorChar + filename));
  
              throw new Exception("not a good practice, please clean up your template relative path, you may set it to empty string... :" + relpath_or_package
                      + ", " + filename);
          }
  
          String ret;
  
          if (hasLength(relpath_or_package)) {
              ret = normalize(relpath_or_package.replace('.', separatorChar) + separatorChar + filename);
          } else {
              ret = filename;
          }
  
          if (hasLength(domain)) {
              return normalize(domain + File.separator + ret);
          } else {
              return ret;
          }
      }
docs: --------------------------------------------