public void processIt() {
    final List<FilePath> incorrectFilePath = new ArrayList<>();

    for (Map.Entry<AbstractVcs, Set<FilePath>> entry : myPreparedDeletion.entrySet()) {
      final AbstractVcs vcs = entry.getKey();
      final CheckinEnvironment localChangesProvider = requireNonNull(vcs.getCheckinEnvironment());

      final List<FilePath> filePaths = new ArrayList<>(entry.getValue());
      if (filePaths.isEmpty()) continue;

      localChangesProvider.scheduleMissingFileForDeletion(filePaths);
    }

    for (Map.Entry<AbstractVcs, Set<FilePath>> entry : myPreparedAddition.entrySet()) {
      final AbstractVcs vcs = entry.getKey();
      final CheckinEnvironment localChangesProvider = requireNonNull(vcs.getCheckinEnvironment());

      final List<FilePath> filePaths = new ArrayList<>(entry.getValue());
      if (filePaths.isEmpty()) continue;

      final List<VirtualFile> virtualFiles = new ArrayList<>();
      for (FilePath path : filePaths) {
        VirtualFile vf = path.getVirtualFile();
        if (vf == null) {
          incorrectFilePath.add(path);
        }
        else {
          virtualFiles.add(vf);
        }
      }

      localChangesProvider.scheduleUnversionedFilesForAddition(virtualFiles);
    }

    //if some errors occurred  -> notify
    if (!incorrectFilePath.isEmpty()) {
      notifyAndLogFiles(incorrectFilePath);
    }
  }
public void processIt()