private @NotNull Map<VcsRoot, Set<FilePath>> groupByVcs(@Nullable Iterable<? extends FilePath> from) {
    if (from == null) {
      return Collections.emptyMap();
    }

    ProjectLevelVcsManager vcsManager = getVcsManager(myProject);
    Map<VcsRoot, Set<FilePath>> map = new HashMap<>();
    for (FilePath path : from) {
      VcsRoot vcsRoot = vcsManager.getVcsRootObjectFor(path);
      if (vcsRoot != null && vcsRoot.getVcs() != null) {
        Set<FilePath> pathSet = map.computeIfAbsent(vcsRoot, key -> {
          HashingStrategy<FilePath> strategy = getDirtyScopeHashingStrategy(key.getVcs());
          return strategy == null ? new HashSet<>() : CollectionFactory.createCustomHashingStrategySet(strategy);
        });
        pathSet.add(path);
      }
    }
    return map;
  }
private @NotNull Map<VcsRoot, Set<FilePath>> groupByVcs(@Nullable Iterable<? extends FilePath> from)