@Override
  protected void uninstallListeners() {
    if (scrollTimer != null) {
      // it is already called otherwise
      super.uninstallListeners();
    }

    scrollbar.removeAdjustmentListener(myAdjustmentListener);
    scrollbar.removeMouseListener(myMouseListener);
    scrollbar.removeMouseMotionListener(myMouseMotionListener);

    scrollbar.removeHierarchyListener(myHierarchyListener);
    updateGlobalListeners(true);

    if (myThumbFadeAnimator != null) {
      Disposer.dispose(myThumbFadeAnimator);
      myThumbFadeAnimator = null;
    }
    if (myMouseOverScrollbarExpandAnimator != null) {
      Disposer.dispose(myMouseOverScrollbarExpandAnimator);
    }
    if (myMacScrollbarFadeTimer != null) {
      Disposer.dispose(myMacScrollbarFadeTimer);
    }
    if (myMacScrollbarFadeAnimator != null) {
      Disposer.dispose(myMacScrollbarFadeAnimator);
    }
    myDisposed = true;
  }
@Override
  protected void uninstallListeners()