else
else if (orientation == SwingConstants.HORIZONTAL && getLayoutOrientation() != VERTICAL)
  public int getScrollableUnitIncrement(Rectangle visibleRect,                                        int orientation, int direction)  {    ListUI lui = this.getUI();    if (orientation == SwingConstants.VERTICAL)      {        if (direction > 0)          {            // Scrolling down            Point bottomLeft = new Point(visibleRect.x,                                         visibleRect.y + visibleRect.height);            int curIdx = lui.locationToIndex(this, bottomLeft);            Rectangle curBounds = lui.getCellBounds(this, curIdx, curIdx);            if (curBounds.y + curBounds.height == bottomLeft.y)              {                // we are at the exact bottom of the current cell, so we                 // are being asked to scroll to the end of the next one                if (curIdx + 1 < model.getSize())                  {                    // there *is* a next item in the list                    Rectangle nxtBounds = lui.getCellBounds(this, curIdx + 1, curIdx + 1);                    return nxtBounds.height;                  }                else                  {                    // no next item, no advance possible                    return 0;                  }              }            else              {                // we are part way through an existing cell, so we are being                // asked to scroll to the bottom of it                return (curBounds.y + curBounds.height) - bottomLeft.y;              }		                }        else          {            // scrolling up            Point topLeft = new Point(visibleRect.x, visibleRect.y);            int curIdx = lui.locationToIndex(this, topLeft);            Rectangle curBounds = lui.getCellBounds(this, curIdx, curIdx);            if (curBounds.y == topLeft.y)              {                // we are at the exact top of the current cell, so we                 // are being asked to scroll to the top of the previous one                if (curIdx > 0)                  {                    // there *is* a previous item in the list                    Rectangle nxtBounds = lui.getCellBounds(this, curIdx - 1, curIdx - 1);                    return -nxtBounds.height;                  }                else                  {                    // no previous item, no advance possible                    return 0;                  }              }            else              {                // we are part way through an existing cell, so we are being                // asked to scroll to the top of it                return curBounds.y - topLeft.y;              }		                }      }    // FIXME: handle horizontal scrolling (also wrapping?)    return 1;  }