void (String reason) { DebugUtil.performPsiModification(reason, () -> { synchronized (myPsiLock) { FileElement treeElement = derefTreeElement(); if (treeElement != null) { treeElement.detachFromFile(); DebugUtil.onInvalidated(treeElement); } updateTrees(myTrees.clearStub(reason)); setTreeElementPointer(null); } }); clearCaches(); }