void (@Nullable VcsModifiableDirtyScope scope) { myWorker.myChangeMappings.forEach((change, list) -> { putPathBeforeUpdate(ChangesUtil.getBeforePath(change), list.id); putPathBeforeUpdate(ChangesUtil.getAfterPath(change), list.id); myChangesBeforeUpdateMap.get(list.id).add(change); }); List<Change> removedChanges = removeChangesUnderScope(scope); // scope should be modified for correct moves tracking if (scope != null) { for (Change change : removedChanges) { if (change.isMoved() || change.isRenamed()) { scope.addDirtyFile(change.getBeforeRevision().getFile()); scope.addDirtyFile(change.getAfterRevision().getFile()); } } } for (ChangeListChangeAssigner extension : ChangeListChangeAssigner.EP_NAME.getExtensions(myWorker.myProject)) { try { extension.beforeChangesProcessing(scope); } catch (Throwable e) { LOG.error(e); } } }