/** Disposes all resources that are used by this handler. */
    public void destroy() {
      if (container != null) {
        setCursor(null);
        current = null;
        container.removeMouseListener(this);
        container.removeMouseMotionListener(this);
        container = null;

        try {
          java.awt.Toolkit.getDefaultToolkit().removeAWTEventListener(this);
        } catch (Throwable e) {
          e.printStackTrace();
        }

        setController(null);
        station.removeDockHierarchyListener(this);
      }
    }