public final String toString() {
   StringBuffer sb = new StringBuffer(64);
   sb.append(getClass().getName()).append(" [");
   sb.append(_sfr.getRange().toString());
   sb.append("]");
   return sb.toString();
 }
 public SharedFormulaGroup(SharedFormulaRecord sfr, CellReference firstCell) {
   if (!sfr.isInRange(firstCell.getRow(), firstCell.getCol())) {
     throw new IllegalArgumentException(
         "First formula cell "
             + firstCell.formatAsString()
             + " is not shared formula range "
             + sfr.getRange().toString()
             + ".");
   }
   _sfr = sfr;
   _firstCell = firstCell;
   int width = sfr.getLastColumn() - sfr.getFirstColumn() + 1;
   int height = sfr.getLastRow() - sfr.getFirstRow() + 1;
   _frAggs = new FormulaRecordAggregate[width * height];
   _numberOfFormulas = 0;
 }