public static @Nullable VirtualFile getActualRoot(@NotNull Project project,
                                                    @NotNull Map<VirtualFile, VcsLogProvider> providers,
                                                    @NotNull FilePath path) {
    List<VirtualFile> sortedRoots = ContainerUtil.sorted(providers.keySet(), Comparator.comparing(VirtualFile::getPath).reversed());
    VirtualFile root = ContainerUtil.find(sortedRoots, r -> FileUtil.isAncestor(VfsUtilCore.virtualToIoFile(r), path.getIOFile(), false));
    if (root == null) return null;
    VcsLogProvider provider = providers.get(root);
    if (provider == null) return null;
    return provider.getVcsRoot(project, root, path);
  }
public static @Nullable VirtualFile getActualRoot(@NotNull Project project,
                                                    @NotNull Map<VirtualFile, VcsLogProvider> providers,
                                                    @NotNull FilePath path)