void () { long count = PsiManager.getInstance(myProject).getModificationTracker().getModificationCount(); if (count != myLastModificationCount) { myLastModificationCount = count; Collection<SmartRefElementPointer> collection = myPersistentEntryPoints.values(); SmartRefElementPointer[] entries = collection.toArray(new SmartRefElementPointer[0]); for (SmartRefElementPointer entry : entries) { RefElement refElement = (RefElement)entry.getRefElement(); if (refElement != null && !refElement.isValid()) { myPersistentEntryPoints.remove(entry.getFQName()); } } synchronized (myTemporaryEntryPoints) { myTemporaryEntryPoints.removeIf(refElement -> !refElement.isValid()); } } }