void () { final Set<String> paths; final Map<String, VcsRevisionNumber> changes; final Set<VirtualFile> files; Set<VcsKey> vcsToRefresh; synchronized (myLock) { vcsToRefresh = new HashSet<>(myVcsKeySet); paths = new HashSet<>(myDirtyPaths); changes = new HashMap<>(myDirtyChanges); files = new HashSet<>(myDirtyFiles); myDirtyPaths.clear(); myDirtyChanges.clear(); myVcsKeySet.clear(); myDirtyFiles.clear(); } closeForVcs(vcsToRefresh); checkByDirtyScope(paths, changes, files); }