return lobounds.union(hibounds);
for (int i = minIndex + 1; i <= maxIndex; i++) { Point hiLoc = indexToLocation(list, i); Rectangle hibounds = new Rectangle(hiLoc.x, hiLoc.y, cellWidth, getRowHeight(i)); bounds = bounds.union(hibounds); }  return bounds;
  public Rectangle getCellBounds(JList l, int index1, int index2)  {    maybeUpdateLayoutState();    if (l != list || cellWidth == -1)      return null;    int lo = Math.min(index1, index2);    int hi = Math.max(index1, index2);    Rectangle lobounds = new Rectangle(0, convertRowToY(lo), cellWidth,                                       getRowHeight(lo));    Rectangle hibounds = new Rectangle(0, convertRowToY(hi), cellWidth,                                       getRowHeight(hi));    return lobounds.union(hibounds);  }