public void extractBundledResources(@NotNull PluginId pluginId, @NotNull String path) throws IOException {
    List<URL> bundledResources = getBundledResourceUrls(pluginId, path);
    if (bundledResources.isEmpty()) {
      return;
    }

    Path resourcesDirectory = findExtensionsDirectoryImpl(pluginId, path, true);
    for (URL bundledResourceDirUrl : bundledResources) {
      VirtualFile bundledResourcesDir = VfsUtil.findFileByURL(bundledResourceDirUrl);
      if (bundledResourcesDir == null || !bundledResourcesDir.isDirectory()) {
        continue;
      }

      if (LOG.isTraceEnabled()) {
        LOG.trace(new Throwable("Extract bundled resources " + pluginId.getIdString() + " to " + resourcesDirectory));
      }
      extractResources(bundledResourcesDir, resourcesDirectory);
    }
  }
public void extractBundledResources(@NotNull PluginId pluginId, @NotNull String path)