code: @SuppressFBWarnings(justification = "try with resources will clean up the output stream", value = {"OBL_UNSATISFIED_OBLIGATION"})
      protected void processTemplate(String template, File file) throws ReportException {
          ensureParentDirectoryExists(file);
          try (OutputStream output = new FileOutputStream(file)) {
              processTemplate(template, output);
          } catch (IOException ex) {
              throw new ReportException(String.format("Unable to write to file: %s", file), ex);
          }
      }
docs: Generates a report from a given Velocity Template. The template name
  provided can be the name of a template contained in the jar file, such as
  'XmlReport' or 'HtmlReport', or the template name can be the path to a
  template file.
  
  @param template the name of the template to load
  @param file the output file to write the report to
  @throws ReportException is thrown when the report cannot be generated