private void addFromManifestClassPathIfNeeded(@NotNull Path file, ResourceFile zipFile, JarLoader loader) {
    String[] referencedJars = loadManifestClasspath(loader, zipFile);
    if (referencedJars != null) {
      long startReferenced = logLoadingInfo ? System.nanoTime() : 0;
      List<Path> files = new ArrayList<>(referencedJars.length);
      for (String referencedJar : referencedJars) {
        try {
          files.add(Paths.get(UrlClassLoader.urlToFilePath(referencedJar)));
        }
        catch (Exception e) {
          //noinspection UseOfSystemOutOrSystemErr
          System.err.println("file: " + file + " / " + referencedJar + " " + e);
        }
      }
      addFiles(files);
      if (logLoadingInfo) {
        //noinspection UseOfSystemOutOrSystemErr
        System.out.println("Loaded all " + referencedJars.length + " files " + (System.nanoTime() - startReferenced) / 1000000 + "ms");
      }
    }
  }
private void addFromManifestClassPathIfNeeded(@NotNull Path file, ResourceFile zipFile, JarLoader loader)