else if ( rowNum > getMaximum() + 1 ) {
} else if ( rowNum > getMaximum() + 1 ) {
  public void fireRowAdded(int rowNum)  {    final Object item = readItem(rowNum);    if ( rowNum >= 0 && rowNum <= getMaximum() + 1 ) // expected; n rows numbered 0 to n - 1      setMaximum(getMaximum() + 1);    else if ( rowNum > getMaximum() + 1 ) {      setMaximum(rowNum);      OutputHandler.out("GC:fRA Warning: adding row " + rowNum			+ " beyond known max " + getMaximum());    }    else if ( rowNum < 0 ) {      OutputHandler.out("GC:fRA Error: Serious oddity: got negative row " + rowNum);      return;    }    if (rowNum >= getValue() && rowNum < getValue() + getVisibleAmount()) { // if visible      final int screenIndex = rowNum - getValue();	          Runnable addRowRunnable = new Runnable() {	  public void run() {	    LozengeRow lr = makeLozengeRow(item);	    LozengeRow rl = makeLabelRow(item);	    myLozengePanel.insert(screenIndex, lr);	    myLabelPanel.insert(screenIndex, rl);	  }	};      SwingQueue.invokeLater(addRowRunnable);    }    SwingQueue.invokeLater(fixScroller);  }