void (@NotNull ListPluginComponent component, @NotNull Runnable task) { startLoading(); ProcessIOExecutorService.INSTANCE.execute(() -> { task.run(); ApplicationManager.getApplication().invokeLater(() -> { if (myShowComponent == component) { stopLoading(); showPluginImpl(component.getPluginDescriptor(), component.myUpdateDescriptor); PluginManagerUsageCollector.pluginCardOpened(component.getPluginDescriptor(), component.getGroup()); } }, ModalityState.stateForComponent(component)); }); }