private void extractBundledExtensionsIfNeeded(@NotNull PluginId pluginId) {
    IdeaPluginDescriptor plugin = PluginManagerCore.getPlugin(pluginId);
    if (plugin == null ||
        updatingResources.contains(plugin) ||
        !ResourceVersions.getInstance().shouldUpdateResourcesOf(plugin) ||
        !updatingResources.add(plugin)) {
      return;
    }

    executeOnPooledIoThread(() -> {
      try {
        extractBundledResources(pluginId, "");
        ResourceVersions.getInstance().resourcesUpdated(plugin);
      }
      catch (IOException e) {
        LOG.warn("Failed to extract bundled extensions for plugin: " + plugin.getName(), e);
      }
      finally {
        updatingResources.remove(plugin);
      }
    });
  }
private void extractBundledExtensionsIfNeeded(@NotNull PluginId pluginId)