@Override
  public @Nullable AbstractVcs findVersioningVcs(@NotNull VirtualFile file) {
    Set<String> checkedVcses = new HashSet<>();

    for (VcsRootChecker checker : VcsRootChecker.EXTENSION_POINT_NAME.getExtensionList()) {
      String vcsName = checker.getSupportedVcs().getName();
      checkedVcses.add(vcsName);

      if (checker.isRoot(file)) {
        return findVcsByName(vcsName);
      }
    }

    String foundVcs = null;
    for (VcsDescriptor vcsDescriptor : getAllVcss()) {
      String vcsName = vcsDescriptor.getName();
      if (checkedVcses.contains(vcsName)) continue;

      if (vcsDescriptor.probablyUnderVcs(file)) {
        if (foundVcs != null) {
          return null;
        }
        foundVcs = vcsName;
      }
    }
    return findVcsByName(foundVcs);
  }
@Override
  public @Nullable AbstractVcs findVersioningVcs(@NotNull VirtualFile file)