void () { if (!myProject.isDisposed()) { myProject.getMessageBus().syncPublisher(XDebuggerManager.TOPIC).processStopped(myDebugProcess); } if (mySessionTab != null) { AppUIUtil.invokeOnEdt(() -> { mySessionTab.getUi().attractBy(XDebuggerUIConstants.LAYOUT_VIEW_FINISH_CONDITION); ((XWatchesViewImpl)mySessionTab.getWatchesView()).updateSessionData(); mySessionTab.detachFromSession(); }); } else if (myConsoleView != null) { AppUIUtil.invokeOnEdt(() -> Disposer.dispose(myConsoleView)); } clearPausedData(); if (myValueMarkers != null) { myValueMarkers.clear(); } if (XDebuggerSettingManagerImpl.getInstanceImpl().getGeneralSettings().isUnmuteOnStop()) { mySessionData.setBreakpointsMuted(false); } myDebuggerManager.removeSession(this); myDispatcher.getMulticaster().sessionStopped(); myDispatcher.getListeners().clear(); myProject.putUserData(InlineDebugRenderer.LinePainter.CACHE, null); synchronized (myRegisteredBreakpoints) { myRegisteredBreakpoints.clear(); } }