docs: private void importAllResources() throws CmsImportExportException {
  
          String source, destination, type, uuidresource, userlastmodified, usercreated, flags, timestamp;
          long datelastmodified, datecreated;
  
          List<Node> fileNodes;
          List<Node> acentryNodes;
          Element currentElement, currentEntry;
          List<CmsProperty> properties = null;
  
          // get list of unwanted properties
          List<String> deleteProperties = OpenCms.getImportExportManager().getIgnoredProperties();
          if (deleteProperties == null) {
              deleteProperties = new ArrayList<String>();
          }
          // get list of immutable resources
          List<String> immutableResources = OpenCms.getImportExportManager().getImmutableResources();
          if (immutableResources == null) {
              immutableResources = Collections.EMPTY_LIST;
          }
          if (LOG.isDebugEnabled()) {
              LOG.debug(
                  Messages.get().getBundle().key(
                      Messages.LOG_IMPORTEXPORT_IMMUTABLE_RESOURCES_SIZE_1,
                      Integer.toString(immutableResources.size())));
          }
          // get the wanted page type for imported pages
          m_convertToXmlPage = OpenCms.getImportExportManager().convertToXmlPage();
  
          try {
              // get all file-nodes
              fileNodes = m_docXml.selectNodes("//" + A_CmsImport.N_FILE);
  
              int importSize = fileNodes.size();
              // walk through all files in manifest
              for (int i = 0; i < fileNodes.size(); i++) {
                  m_report.print(
                      org.opencms.report.Messages.get().container(
                          org.opencms.report.Messages.RPT_SUCCESSION_2,
                          String.valueOf(i + 1),
                          String.valueOf(importSize)));
                  currentElement = (Element)fileNodes.get(i);
                  // get all information for a file-import
                  // <source>
                  source = getChildElementTextValue(currentElement, A_CmsImport.N_SOURCE);
                  // <destintion>
                  destination = getChildElementTextValue(currentElement, A_CmsImport.N_DESTINATION);
                  // <type>
                  type = getChildElementTextValue(currentElement, A_CmsImport.N_TYPE);
                  // <uuidstructure>
                  //uuidstructure = CmsImport.getChildElementTextValue(
                  //    currentElement,
                  //    CmsImportExportManager.N_UUIDSTRUCTURE);
                  // <uuidresource>
                  uuidresource = getChildElementTextValue(currentElement, A_CmsImport.N_UUIDRESOURCE);
                  // <datelastmodified>
                  timestamp = getChildElementTextValue(currentElement, A_CmsImport.N_DATELASTMODIFIED);
                  if (timestamp != null) {
                      datelastmodified = Long.parseLong(timestamp);
                  } else {
                      datelastmodified = System.currentTimeMillis();
                  }
                  // <userlastmodified>
                  userlastmodified = getChildElementTextValue(currentElement, A_CmsImport.N_USERLASTMODIFIED);
                  // <datecreated>
                  timestamp = getChildElementTextValue(currentElement, A_CmsImport.N_DATECREATED);
                  if (timestamp != null) {
                      datecreated = Long.parseLong(timestamp);
                  } else {
                      datecreated = System.currentTimeMillis();
                  }
                  // <usercreated>
                  usercreated = getChildElementTextValue(currentElement, A_CmsImport.N_USERCREATED);
                  // <flags>
                  flags = getChildElementTextValue(currentElement, A_CmsImport.N_FLAGS);
  
                  String translatedName = m_cms.getRequestContext().addSiteRoot(m_importPath + destination);
                  if (CmsResourceTypeFolder.RESOURCE_TYPE_NAME.equals(type)) {
                      translatedName += "/";
                  }
                  // translate the name during import
                  translatedName = m_cms.getRequestContext().getDirectoryTranslator().translateResource(translatedName);
                  // check if this resource is immutable
                  boolean resourceNotImmutable = checkImmutable(translatedName, immutableResources);
                  translatedName = m_cms.getRequestContext().removeSiteRoot(translatedName);
                  // if the resource is not immutable and not on the exclude list, import it
                  if (resourceNotImmutable) {
                      // print out the information to the report
                      m_report.print(Messages.get().container(Messages.RPT_IMPORTING_0), I_CmsReport.FORMAT_NOTE);
                      m_report.print(
                          org.opencms.report.Messages.get().container(
                              org.opencms.report.Messages.RPT_ARGUMENT_1,
                              translatedName));
                      //m_report.print(org.opencms.report.Messages.get().container(org.opencms.report.Messages.RPT_OK_0));
                      // get all properties
                      properties = readPropertiesFromManifest(currentElement, deleteProperties);
  
                      // import the resource
                      CmsResource res = importResource(
                          source,
                          destination,
                          type,
                          uuidresource,
                          datelastmodified,
                          userlastmodified,
                          datecreated,
                          usercreated,
                          flags,
                          properties);
  
                      List<CmsAccessControlEntry> aceList = new ArrayList<CmsAccessControlEntry>();
                      if (res != null) {
                          // write all imported access control entries for this file
                          acentryNodes = currentElement.selectNodes("*/" + A_CmsImport.N_ACCESSCONTROL_ENTRY);
                          // collect all access control entries
                          for (int j = 0; j < acentryNodes.size(); j++) {
                              currentEntry = (Element)acentryNodes.get(j);
                              // get the data of the access control entry
                              String id = getChildElementTextValue(currentEntry, A_CmsImport.N_ACCESSCONTROL_PRINCIPAL);
                              String acflags = getChildElementTextValue(currentEntry, A_CmsImport.N_FLAGS);
                              String allowed = getChildElementTextValue(
                                  currentEntry,
                                  A_CmsImport.N_ACCESSCONTROL_PERMISSIONSET
                                      + "/"
                                      + A_CmsImport.N_ACCESSCONTROL_ALLOWEDPERMISSIONS);
                              String denied = getChildElementTextValue(
                                  currentEntry,
                                  A_CmsImport.N_ACCESSCONTROL_PERMISSIONSET
                                      + "/"
                                      + A_CmsImport.N_ACCESSCONTROL_DENIEDPERMISSIONS);
  
                              // get the correct principal
                              try {
                                  String principalId = new CmsUUID().toString();
                                  String principal = id.substring(id.indexOf('.') + 1, id.length());
  
                                  if (id.startsWith(I_CmsPrincipal.PRINCIPAL_GROUP)) {
                                      principal = OpenCms.getImportExportManager().translateGroup(principal);
                                      principalId = m_cms.readGroup(principal).getId().toString();
                                  } else {
                                      principal = OpenCms.getImportExportManager().translateUser(principal);
                                      principalId = m_cms.readUser(principal).getId().toString();
                                  }
  
                                  // add the entry to the list
                                  aceList.add(getImportAccessControlEntry(res, principalId, allowed, denied, acflags));
                              } catch (CmsDataAccessException e) {
                                  // user or group not found, so do not import the ace
                              }
                          }
                          importAccessControlEntries(res, aceList);
  
                      } else {
                          // resource import failed, since no CmsResource was created
                          m_report.print(Messages.get().container(Messages.RPT_SKIPPING_0), I_CmsReport.FORMAT_NOTE);
                          m_report.println(
                              org.opencms.report.Messages.get().container(
                                  org.opencms.report.Messages.RPT_ARGUMENT_1,
                                  translatedName));
                      }
                  } else {
                      // skip the file import, just print out the information to the report
                      m_report.print(Messages.get().container(Messages.RPT_SKIPPING_0), I_CmsReport.FORMAT_NOTE);
                      m_report.println(
                          org.opencms.report.Messages.get().container(
                              org.opencms.report.Messages.RPT_ARGUMENT_1,
                              translatedName));
                  }
              }
  
          } catch (Exception e) {
              m_report.println(e);
              m_report.addError(e);
  
              CmsMessageContainer message = Messages.get().container(
                  Messages.ERR_IMPORTEXPORT_ERROR_IMPORTING_RESOURCES_0);
              if (LOG.isDebugEnabled()) {
                  LOG.debug(message.key(), e);
              }
              throw new CmsImportExportException(message, e);
          }
  
      }