void (@NotNull SessionEvent event, @NotNull XDebugSession session) { if (ApplicationManager.getApplication().isDispatchThread()) { // mark nodes obsolete asap getTree().markNodesObsolete(); } if (event == SessionEvent.BEFORE_RESUME) { return; } XStackFrame stackFrame = session.getCurrentStackFrame(); ApplicationManager.getApplication().invokeLater(() -> { getTree().markNodesObsolete(); if (stackFrame != null) { cancelClear(); beforeTreeBuild(event); buildTreeAndRestoreState(stackFrame); } else { requestClear(); } }, session.getProject().getDisposed()); }