void () { List<PsiFile> files = getCachedPsiFiles(); List<PsiTreeChangeEventImpl> events = new ArrayList<>(files.size()); List<PsiTreeChangeEventImpl> genericEvents = new ArrayList<>(files.size()); for (PsiFile file : files) { genericEvents.add(createChildrenChangeEvent(file, true)); events.add(createChildrenChangeEvent(file, false)); } beforeContentsSynchronized(); for (PsiTreeChangeEventImpl event : genericEvents) { ((PsiManagerImpl)getManager()).beforeChildrenChange(event); } for (PsiTreeChangeEventImpl event : events) { ((PsiManagerImpl)getManager()).beforeChildrenChange(event); } for (PsiFile psiFile : files) { if (psiFile instanceof PsiFileEx) { ((PsiFileEx)psiFile).onContentReload(); } } contentsSynchronized(); for (PsiTreeChangeEventImpl event : events) { ((PsiManagerImpl)getManager()).childrenChanged(event); } for (PsiTreeChangeEventImpl event : genericEvents) { ((PsiManagerImpl)getManager()).childrenChanged(event); } }