public synchronized void dispose() { if (!(myInitialized)) { return; } myInitialized = false; if (myGlobalModelListener != null) { GlobalSModelEventsManager.getInstance().removeGlobalModelListener(myGlobalModelListener); } FileStatusManager.getInstance(myRegistry.getProject()) .removeFileStatusListener(myFileStatusListener); myTree.removeTreeNodeListener(myTreeNodeListener); myMap.removeListener(myFeatureListener); myQueue.dispose(); }