Icon (@NotNull Project project, @NotNull RunnerAndConfigurationSettings selectedConfiguration, @NotNull AnActionEvent e) { RunConfiguration configuration = selectedConfiguration.getConfiguration(); if (configuration instanceof RunnerIconProvider provider) { Icon icon = provider.getExecutorIcon(configuration, myExecutor); if (icon != null) { return icon; } } List<RunContentDescriptor> runningDescriptors = getRunningDescriptors(project, selectedConfiguration); if (needRerunPresentation(configuration, runningDescriptors)) { if (ExperimentalUI.isNewUI() && myExecutor.getIcon() != myExecutor.getRerunIcon()) { return myExecutor.getRerunIcon(); } if (DefaultRunExecutor.EXECUTOR_ID.equals(myExecutor.getId())) { return AllIcons.Actions.Restart; } } if (runningDescriptors.isEmpty()) { return myExecutor.getIcon(); } if (runningDescriptors.size() == 1) { return ExecutionUtil.getLiveIndicator(myExecutor.getIcon()); } else { return IconUtil.addText(myExecutor.getIcon(), RunToolbarPopupKt.runCounterToString(e, runningDescriptors.size())); } }