void () { assertIsDispatchThread(); if (isReleased) { throwDisposalError("Double release of editor:"); } myTraceableDisposable.kill(null); isReleased = true; clearSettingsCache(); myFoldingModel.dispose(); mySoftWrapModel.release(); myMarkupModel.dispose(); myScrollingModel.dispose(); myGutterComponent.dispose(); myMousePressedEvent = null; myMouseMovedEvent = null; Disposer.dispose(myCaretModel); Disposer.dispose(mySoftWrapModel); if (myUseNewRendering) Disposer.dispose(myView); clearCaretThread(); myFocusListeners.clear(); myMouseListeners.clear(); myMouseMotionListeners.clear(); if (myConnection != null) { myConnection.disconnect(); } if (myDocument instanceof DocumentImpl) { ((DocumentImpl)myDocument).giveUpTabTracking(); } Disposer.dispose(myDisposable); }