// called NOT under ChangeListManagerImpl lock
  public void notifyStartProcessingChanges(final VcsModifiableDirtyScope scope) {
    final Collection<Change> oldChanges = new ArrayList<Change>();
    for (LocalChangeList list : myMap.values()) {
      final Collection<Change> affectedChanges =
          ((LocalChangeListImpl) list).startProcessingChanges(myProject, scope);
      if (!affectedChanges.isEmpty()) {
        oldChanges.addAll(affectedChanges);
      }
    }
    for (Change change : oldChanges) {
      myIdx.changeRemoved(change);
    }
    // scope should be modified for correct moves tracking
    correctScopeForMoves(scope, oldChanges);

    myLocallyDeleted.cleanAndAdjustScope(scope);
    mySwitchedHolder.cleanAndAdjustScope(scope);
  }
 public void notifyVcsStarted(AbstractVcs vcs) {
   myLocallyDeleted.notifyVcsStarted(vcs);
   mySwitchedHolder.notifyVcsStarted(vcs);
 }
 public boolean isContainedInLocallyDeleted(final FilePath filePath) {
   return myLocallyDeleted.isContainedInLocallyDeleted(filePath);
 }
 public void addLocallyDeleted(final LocallyDeletedChange change) {
   myLocallyDeleted.addFile(change);
 }
 public DeletedFilesHolder getLocallyDeleted() {
   return myLocallyDeleted.copy();
 }