public static @NotNull List<StagedFile> listStaged(@NotNull Project project,
                                                     @NotNull VirtualFile root,
                                                     @NotNull Collection<? extends FilePath> filePaths) throws VcsException {
    List<StagedFile> result = new ArrayList<>();
    GitLineHandler h = new GitLineHandler(project, root, GitCommand.LS_FILES);
    h.addParameters("-s");
    h.endOptions();
    h.addRelativePaths(filePaths);

    h.addLineListener(new GitLineHandlerListener() {
      @Override
      public void onLineAvailable(String line, Key outputType) {
        if (outputType != ProcessOutputTypes.STDOUT) return;
        ContainerUtil.addIfNotNull(result, parseListFilesStagedRecord(root, line));
      }
    });
    Git.getInstance().runCommandWithoutCollectingOutput(h).throwOnError();

    return result;
  }
public static @NotNull List<StagedFile> listStaged(@NotNull Project project,
                                                     @NotNull VirtualFile root,
                                                     @NotNull Collection<? extends FilePath> filePaths)