private void processDeletedFiles() {
    final List<Pair<FilePath, WorkingCopyFormat>> deletedFiles = new ArrayList<>();
    final Collection<FilePath> filesToProcess = new ArrayList<>();
    List<VcsException> exceptions = new ArrayList<>();
    final AbstractVcsHelper vcsHelper = AbstractVcsHelper.getInstance(myVcs.getProject());

    try {
      fillDeletedFiles(deletedFiles, filesToProcess);
      if (deletedFiles.isEmpty() && filesToProcess.isEmpty() || myUndoingMove) return;
      final VcsShowConfirmationOption.Value value = myDeleteConfirmation.getValue();
      if (value != VcsShowConfirmationOption.Value.DO_NOTHING_SILENTLY) {
        if (!deletedFiles.isEmpty()) {
          final Collection<FilePath> confirmed = promptAboutDeletion(deletedFiles, value, vcsHelper);
          if (confirmed != null) {
            filesToProcess.addAll(confirmed);
          }
        }
        if (!filesToProcess.isEmpty()) {
          runInBackground(message("progress.title.deleting.files.from.subversion"), createDeleteRunnable(filesToProcess, exceptions));
        }
        List<FilePath> deletedFilesFiles = map(deletedFiles, Functions.pairFirst());
        for (FilePath file : deletedFilesFiles) {
          final FilePath parent = file.getParentPath();
          if (parent != null) {
            myFilesToRefresh.add(parent.getVirtualFile());
          }
        }
        for (FilePath file : deletedFilesFiles) {
          if (!filesToProcess.contains(file)) {
            FileUtil.delete(file.getIOFile());
          }
        }
      }
    }
    catch (VcsException e) {
      exceptions.add(e);
    }
    if (!exceptions.isEmpty()) {
      vcsHelper.showErrors(exceptions, message("delete.files.errors.title"));
    }
  }
private void processDeletedFiles()