void () { 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); } }