@Override
  public @NotNull List<VirtualFile> suggestDependentRoots(@NotNull VirtualFile vcsRoot) {
    try {
      GitLineHandler handler = new GitLineHandler(null, vcsRoot, GitCommand.SUBMODULE_HELPER);
      handler.addParameters("list");
      GitCommandResult result = Git.getInstance().runCommand(handler);
      if (!result.success()) return Collections.emptyList();

      List<VirtualFile> submodules = new ArrayList<>();
      for (String line : result.getOutput()) {
        StringScanner scanner = new StringScanner(line);
        scanner.tabToken(); // mode, sha, stage
        String path = scanner.line(); // relative path

        ContainerUtil.addIfNotNull(submodules, VcsUtil.getFilePath(vcsRoot, path).getVirtualFile());
      }

      return submodules;
    }
    catch (ProcessCanceledException e) {
      throw e;
    }
    catch (Exception e) {
      Logger.getInstance(GitRootChecker.class).warn(e);
      return Collections.emptyList();
    }
  }
@Override
  public @NotNull List<VirtualFile> suggestDependentRoots(@NotNull VirtualFile vcsRoot)