docs: protected static List<CustomManifest> findCustomEncryption(List<File> rootDirs, String path) throws IOException {
          List<CustomManifest> list = new ArrayList<CustomManifest>();
          for (File dir : rootDirs) {
              dir = new File(dir, path);
              if (exists(dir)) {
                  File[] files = listFiles(dir);
                  if (files != null) {
                      for (File file : files) {
                          if (isFile(file) && file.getName().toLowerCase().endsWith(JAR_FILE_EXT)) {
                              if (logger.isLoggable(Level.FINE)) {
                                  logger.fine("The extension manifest file : " + file);
                              }
                              try {
                                  CustomManifest cm = new CustomManifest(file);
                                  list.add(cm);
                              } catch (IllegalArgumentException iae) {
                                  if (logger.isLoggable(Level.INFO)) {
                                      logger.info(MessageUtils.getMessage("PASSWORDUTIL_ERROR_IN_EXTENSION_MANIFEST_FILE", file, iae.getMessage()));
                                  }
                              }
                          }
                      }
                  }
              }
          }
          return list;
      }