protected static @NotNull UrlClassLoader.Builder createDefaultBuilderForJdk(@NotNull ClassLoader parent) {
    Builder configuration = new Builder();

    if (parent instanceof URLClassLoader) {
      URL[] urls = ((URLClassLoader)parent).getURLs();
      // LinkedHashSet is used to remove duplicates
      Set<Path> files = new LinkedHashSet<>(urls.length);
      for (URL url : urls) {
        files.add(Paths.get(url.getPath()));
      }
      configuration.files = files;
    }
    else {
      String[] parts = System.getProperty("java.class.path").split(File.pathSeparator);
      Set<Path> files = new LinkedHashSet<>(parts.length);
      for (String s : parts) {
        files.add(Paths.get(s));
      }
      configuration.files = files;
    }

    configuration.isSystemClassLoader = true;
    configuration.parent = parent.getParent();
    configuration.useCache = true;
    configuration.isClassPathIndexEnabled = isClassPathIndexEnabledGlobalValue;
    configuration.isBootstrapResourcesAllowed = Boolean.parseBoolean(System.getProperty("idea.allow.bootstrap.resources", "true"));
    return configuration;
  }
protected static @NotNull UrlClassLoader.Builder createDefaultBuilderForJdk(@NotNull ClassLoader parent)