public @NotNull Collection<? extends FilePatch> doDelayed() {
      final List<FilePatch> result = new ArrayList<>();
      if (!myOverrideExisting.isEmpty()) {
        ApplicationManager.getApplication().invokeAndWait(() -> {
          final String title = VcsBundle.message("patch.apply.overwrite.existing.title");
          List<FilePath> files = new ArrayList<>(myOverrideExisting.keySet());
          @SuppressWarnings("UnresolvedPropertyKey")
          Collection<FilePath> selected = AbstractVcsHelper.getInstance(myProject).selectFilePathsToProcess(
            files, title, VcsBundle.message("patch.apply.overwrite.existing.files.prompt"), title,
            VcsBundle.message("patch.apply.overwrite.existing.file.prompt"),
            VcsShowConfirmationOption.STATIC_SHOW_CONFIRMATION,
            CommonBundle.message("button.overwrite"), IdeBundle.message("button.cancel"));
          if (selected != null) {
            for (FilePath path : selected) {
              myOverrideExisting.remove(path);
            }
          }
          result.addAll(myOverrideExisting.values());
          if (selected != null) {
            myOverridenPaths.addAll(selected);
          }
        });
      }
      result.addAll(mySkipDeleted.values());
      return result;
    }
public @NotNull Collection<? extends FilePatch> doDelayed()