public static void showErrorNotification(final @NotNull Project project,
                                           @NonNls @NotNull String displayId,
                                           final @NotNull VirtualFile root,
                                           final @NotNull String operationName,
                                           final @NotNull Collection<String> relativeFilePaths) {
    final Collection<String> absolutePaths = GitUtil.toAbsolute(root, relativeFilePaths);
    final List<Change> changes = GitUtil.findLocalChangesForPaths(project, root, absolutePaths, false);


    VcsNotifier.importantNotification()
      .createNotification(GitBundle.message("notification.title.git.operation.failed", StringUtil.capitalize(operationName)),
                          GitBundle.message("warning.your.local.changes.would.be.overwritten.by.merge"),
                          NotificationType.ERROR)
      .setDisplayId(displayId)
      .addAction(NotificationAction.createSimple(
        GitBundle.messagePointer("local.changes.would.be.overwritten.by.merge.view.them.action"), () -> {
          showErrorDialog(project, operationName, changes, absolutePaths);
        }))
      .notify(project);
  }
public static void showErrorNotification(final @NotNull Project project,
                                           @NonNls @NotNull String displayId,
                                           final @NotNull VirtualFile root,
                                           final @NotNull String operationName,
                                           final @NotNull Collection<String> relativeFilePaths)