void (@NotNull AnActionEvent e, boolean selected) { Project project = e.getData(CommonDataKeys.PROJECT); MainVcsLogUi ui = e.getData(VcsLogInternalDataKeys.MAIN_UI); VcsLogData dataProvider = e.getData(VcsLogInternalDataKeys.LOG_DATA); if (project == null || dataProvider == null || ui == null) { return; } final DeepComparator dc = DeepComparator.getInstance(project, dataProvider, ui); if (selected) { VcsLogUsageTriggerCollector.triggerUsage(e, this); VcsLogDataPack dataPack = ui.getDataPack(); String singleBranchName = DeepComparator.getComparedBranchFromFilters(ui.getFilterUi().getFilters(), dataPack.getRefs()); if (singleBranchName == null) { selectBranchAndPerformAction(ui, e, selectedBranch -> { VcsLogFilterCollection collection = ui.getFilterUi().getFilters(); collection = VcsLogFiltersKt.without(collection, VcsLogBranchLikeFilter.class); collection = VcsLogFiltersKt.with(collection, VcsLogFilterObject.fromBranch(selectedBranch)); ui.getFilterUi().setFilters(collection); dc.startTask(dataPack, selectedBranch); }, getGitRoots(project, ui)); return; } dc.startTask(dataPack, singleBranchName); } else { dc.stopTaskAndUnhighlight(); } }