void (@NotNull VirtualFile file) { final MultiMap<VirtualFile, FileAnnotation> annotations = new MultiMap<>(); synchronized (myLock) { for (FileAnnotation fileAnnotation : myFileAnnotations) { VirtualFile virtualFile = fileAnnotation.getFile(); if (virtualFile != null && virtualFile.isInLocalFileSystem() && VfsUtilCore.isAncestor(file, virtualFile, true)) { annotations.putValue(virtualFile, fileAnnotation); } } } if (!annotations.isEmpty()) { for (Map.Entry<VirtualFile, Collection<FileAnnotation>> entry : annotations.entrySet()) { final VirtualFile key = entry.getKey(); final VcsRevisionNumber number = fromDiffProvider(key); if (number == null) continue; final Collection<FileAnnotation> fileAnnotations = entry.getValue(); List<FileAnnotation> copy = ContainerUtil.filter(fileAnnotations, it -> it.isBaseRevisionChanged(number)); invalidateAnnotations(copy, false); } } }