Groups (@NotNull VcsLogDataPack dataPack, @Nullable Collection<? extends VirtualFile> visibleRoots, @Nullable List<? extends List<String>> recentItems) { Groups filteredGroups = new Groups(); Collection<VcsRef> allRefs = dataPack.getRefs().getBranches(); for (Map.Entry<VirtualFile, Set<VcsRef>> entry : VcsLogUtil.groupRefsByRoot(allRefs).entrySet()) { VirtualFile root = entry.getKey(); if (visibleRoots != null && !visibleRoots.contains(root)) continue; List<RefGroup> refGroups = dataPack.getLogProviders().get(root).getReferenceManager().groupForBranchFilter(entry.getValue()); putActionsForReferences(dataPack, refGroups, filteredGroups); } if (recentItems != null) { filteredGroups.recentGroups.addAll(recentItems); } return filteredGroups; }