     private var startY:Number = 0;
     private var recentNode:GridRowNode = null;
     
+    private const typicalCellWidths:Array = new Array();
+    private const typicalCellHeights:Array = new Array();    
+    
     //--------------------------------------------------------------------------
     //
     //  Constructor

        return x;
    }
    
    private function getCellY(row:int, col:int):Number
    {        // no cache so we use default heights for each row.
        if (!isNaN(fixedRowHeight))
            return row * (fixedRowHeight + rowGap);

        return new Rectangle(x, y, width, height);
    }
    
    /**
     *  Returns the X coordinate of the origin of the specified cell.
     */
    public function getCellX(row:int, col:int):Number
    {
        if (!_columnWidths)
            return col * (defaultColumnWidth + columnGap);
