@Override
  public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) {
    int increment = super.getScrollableBlockIncrement(visibleRect, orientation, direction);
    // in case of scrolling list up using a single wheel rotation, the block increment is used to calculate min scroll as
    // currScroll - blockIncrement
    // the resulting y-position of visible rect never exceed min scroll

    // see javax.swing.plaf.basic.BasicScrollPaneUI.Handler.mouseWheelMoved -> vertical handling part -> limitScroll
    return adjustIncrement(visibleRect, orientation, direction, increment);
  }
@Override
  public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)