docs: public void startImport(I_CmsReport report) throws Exception {
  
          try {
              m_report = report;
              m_report.println(Messages.get().container(Messages.RPT_HTML_IMPORT_BEGIN_0), I_CmsReport.FORMAT_HEADLINE);
  
              boolean isStream = !CmsStringUtil.isEmptyOrWhitespaceOnly(m_httpDir);
              File streamFolder = null;
              if (isStream) {
                  // the input is starting through the HTTP upload
                  streamFolder = unzipStream();
                  m_inputDir = streamFolder.getAbsolutePath();
              }
  
              // first build the index of all resources
              buildIndex(m_inputDir);
              // build list with all parent resources of input directory for links to outside import folder
              buildParentPath();
              // copy and parse all HTML files first. during the copy process we will collect all
              // required data for downloads and images
              copyHtmlFiles(m_inputDir);
              // now copy the other files
              copyOtherFiles(m_inputDir);
              // finally create all the external links
              createExternalLinks();
  
              if (isStream && (streamFolder != null)) {
                  m_report.println(Messages.get().container(Messages.RPT_HTML_DELETE_0), I_CmsReport.FORMAT_NOTE);
                  // delete the files of the zip file
                  CmsFileUtil.purgeDirectory(streamFolder);
                  // deletes the zip file
                  File file = new File(m_httpDir);
                  if (file.exists() && file.canWrite()) {
                      file.delete();
                  }
              }
              m_report.println(Messages.get().container(Messages.RPT_HTML_IMPORT_END_0), I_CmsReport.FORMAT_HEADLINE);
          } catch (Exception e) {
              e.printStackTrace();
          }
      }