@Override
  public void disposeUIResources() {
    InstalledPluginsState pluginsState = InstalledPluginsState.getInstance();
    if (myPluginModel.toBackground()) {
      pluginsState.clearShutdownCallback();
    }

    myMarketplaceTab.dispose();
    myInstalledTab.dispose();

    if (myMarketplacePanel != null) {
      myMarketplacePanel.dispose();
    }
    if (myMarketplaceSearchPanel != null) {
      myMarketplaceSearchPanel.dispose();
    }
    if (myInstalledSearchPanel != null) {
      myInstalledSearchPanel.dispose();
    }

    myPluginUpdatesService.dispose();
    PluginPriceService.cancel();

    pluginsState.runShutdownCallback();
    pluginsState.resetChangesAppliedWithoutRestart();
  }
@Override
  public void disposeUIResources()