int index = list.getModel().getSize() - 1;;
int index = list.getModel().getSize() - 1;
  protected int convertYToRow(int y0)  {    if (list.getModel().getSize() == 0)      return -1;    // When y0 < 0, then the JDK returns the maximum row index of the list. So    // do we.    if (y0 < 0)      return list.getModel().getSize() - 1;    // Update the layout if necessary.    maybeUpdateLayoutState();    int index = list.getModel().getSize() - 1;;    // If a fixed cell height is set, then we can work more efficient.    if (cellHeight > 0)      index = Math.min(y0 / cellHeight, index);    // If we have no fixed cell height, we must add up each cell height up    // to y0.    else      {        int h = 0;    for (int row = 0; row < cellHeights.length; ++row)      {            h += cellHeights[row];        if (y0 < h)              {                index = row;                break;      }          }      }    return index;  }