private static @NotNull List<URL> getBundledResourceUrls(@NotNull PluginId pluginId, @NotNull String path) throws IOException {
    // search in enabled plugins only
    IdeaPluginDescriptorImpl plugin = (IdeaPluginDescriptorImpl)PluginManager.getInstance().findEnabledPlugin(pluginId);
    if (plugin == null) {
      return Collections.emptyList();
    }

    ClassLoader pluginClassLoader = plugin.getClassLoader();
    Enumeration<URL> resources = pluginClassLoader.getResources(EXTENSIONS_PATH + '/' + path);
    if (resources == null) {
      return Collections.emptyList();
    }
    else if (plugin.isUseIdeaClassLoader) {
      return ContainerUtil.toList(resources);
    }

    Set<URL> urls = new LinkedHashSet<>();
    while (resources.hasMoreElements()) {
      urls.add(resources.nextElement());
    }
    // exclude parent classloader resources from list
    for (PluginDependency it : plugin.pluginDependencies) {
      IdeaPluginDescriptor descriptor = PluginManagerCore.getPlugin(it.getPluginId());
      if (descriptor == null) {
        continue;
      }
      ClassLoader loader = descriptor.getClassLoader();
      if (loader != pluginClassLoader) {
        Enumeration<URL> pluginResources = loader.getResources(EXTENSIONS_PATH + '/' + path);
        while (pluginResources.hasMoreElements()) {
          urls.remove(pluginResources.nextElement());
        }
      }
    }
    return new ArrayList<>(urls);
  }
private static @NotNull List<URL> getBundledResourceUrls(@NotNull PluginId pluginId, @NotNull String path)