@Override
	public void addRecord( BiffRec rec, int[] rc )
	{
		// check to see if there is a BiffRec already at the address add the rec to the Cell,
		// set as value if it's a val type rec

		rec.setSheet( this );// create a new BiffRec if none exists
		rec.setRowCol( rc );
		rec.setIsValueForCell( true );
		rec.setStreamer( streamer );
		rec.setWorkBook( getWorkBook() );

		if( !fastCellAdds )
		{

			Row ro;
			ro = rows.get( rc[0] );
			if( ro == null )
			{
				ro = addNewRow( rec );
			}

		}
		if( copypriorformats && !fastCellAdds )
		{
			copyPriorCellFormatForNewCells( rec );
		}

		try
		{
			addCell( (CellRec) rec );
		}
		catch( ArrayIndexOutOfBoundsException ax )
		{
			log.error( "Boundsheet.addRecord() failed. Column " + rc[1] + " is greater than Maximum column count" );
			throw new InvalidRecordException( "Adding cell failed. Column " + rc[1] + " is greater than the maximum column limit." );
		}
	}