docs: public static Map<CmsModule, String> getAllModulesFromPath(String rfsAbsPath) throws CmsConfigurationException {
  
          Map<CmsModule, String> modules = new HashMap<CmsModule, String>();
          if (rfsAbsPath == null) {
              return modules;
          }
          File folder = new File(rfsAbsPath);
          if (folder.exists()) {
              // list all child resources in the given folder
              File[] folderFiles = folder.listFiles();
              if (folderFiles != null) {
                  for (int i = 0; i < folderFiles.length; i++) {
                      File moduleFile = folderFiles[i];
                      if (moduleFile.isFile() && !(moduleFile.getAbsolutePath().toLowerCase().endsWith(".zip"))) {
                          // skip non-ZIP files
                          continue;
                      }
                      if (moduleFile.isDirectory()) {
                          File manifest = new File(moduleFile, CmsImportExportManager.EXPORT_MANIFEST);
                          if (!manifest.exists() || !manifest.canRead()) {
                              // skip unused directories
                              continue;
                          }
                      }
                      modules.put(
                          CmsModuleImportExportHandler.readModuleFromImport(moduleFile.getAbsolutePath()),
                          moduleFile.getName());
                  }
              }
          }
          return modules;
      }