private void checkIfFileWasTouchedAndFindParentsInBackground(final @NotNull FilePath filePath,
                                                               final @NotNull GitFileRevision rev,
                                                               final @NotNull Collection<String> parentHashes,
                                                               final @Nullable List<? extends VcsFileRevision> revisions,
                                                               final @NotNull Consumer<? super MergeCommitPreCheckInfo> resultHandler) {
    Project project = myProject;
    new Task.Backgroundable(project, GitBundle.message("git.history.diff.handler.load.changes.process"), true) {
      private MergeCommitPreCheckInfo myInfo;

      @Override
      public void run(@NotNull ProgressIndicator indicator) {
        try {
          VirtualFile root = GitUtil.getRootForFile(project, filePath);
          boolean fileTouched = wasFileTouched(project, root, rev);
          Collection<GitFileRevision> parents = findParentRevisions(root, rev, parentHashes, revisions);
          myInfo = new MergeCommitPreCheckInfo(fileTouched, parents);
        }
        catch (VcsException e) {
          showError(e, GitBundle.message("git.history.diff.handler.git.show.error", rev, filePath));
        }
      }

      @Override
      public void onSuccess() {
        if (myInfo != null) { // if info == null => an exception happened
          resultHandler.consume(myInfo);
        }
      }
    }.queue();
  }
private void checkIfFileWasTouchedAndFindParentsInBackground(final @NotNull FilePath filePath,
                                                               final @NotNull GitFileRevision rev,
                                                               final @NotNull Collection<String> parentHashes,
                                                               final @Nullable List<? extends VcsFileRevision> revisions,
                                                               final @NotNull Consumer<? super MergeCommitPreCheckInfo> resultHandler)