@Override
  protected void dispose(Configurable configurable, JComponent component) {
    if (configurable != null) {
      long time = System.currentTimeMillis();
      try {
        configurable.disposeUIResources();
        Disposable disposer = myListeners.remove(configurable);
        if (disposer != null) Disposer.dispose(disposer);
        if (component instanceof Disposable) Disposer.dispose((Disposable)component);
        autoDispose(configurable, component);
      }
      catch (Exception unexpected) {
        LOG.error("cannot dispose configurable", unexpected);
      }
      finally {
        warn(configurable, "dispose", time);
      }
    }
  }
@Override
  protected void dispose(Configurable configurable, JComponent component)