public void MergeLoaded(object data) { var node = (Pair <AttributedTypesTrieCollection, JetHashSet <IPsiSourceFile> >)data; if (node.First == null || node.Second == null) { return; } myLocks.AssertWriteAccessAllowed(); //optimization here: replace roots because it constains no data yet. myRoot = node.First; myFilesWithoutAnnotations = node.Second; // add new nodes to file -> node index. UpdateIndexAfterLoad(myRoot.Roots); myPsiFiles.PsiChanged(null, PsiChangedElementType.ContentsChanged); }