         return false;
     }
     
+    /**
+     *  @private
+     */
     private function dataProviderCollectionAdd(event:CollectionEvent):Boolean
     {
         rowCount +=  event.items.length;
         return true;
     }
     
+    /**
+     *  @private
+     */
     private function dataProviderCollectionRemove(event:CollectionEvent):Boolean
     {
         rowCount -= event.items.length;

        return new Rectangle(firstCellR.x, firstCellR.y, colWidth, colHeight); 
    }
    
    // returns -1 if there isn't one
    public function getRowIndexAt(x:Number, y:Number):int
    {
        return y / (defaultRowHeight + rowGap);
    }

    // returns -1 if there isn't one
    public function getColumnIndexAt(x:Number, y:Number):int
    {
        return x / (defaultColumnWidth + columnGap);
    }
    
    public function get contentWidth():Number
    {
        return (columnCount * (defaultColumnWidth + columnGap)) - columnGap;         
    }
    
    public function get contentHeight():Number
    {
        return (rowCount * (defaultRowHeight + rowGap)) - rowGap;         
    }

    public function insertRows(startRow:int, count:int):void
    {
    }
    
    public function insertColumns(startColumn:int, count:int):void
    {
    }
    
    public function removeRows(startRow:int, count:int):void
    {
    }
    
    public function removeColumns(startColumn:int, count:int):void
    {
    }
    
    public function moveRows(fromRow:int, toRow:int, count:int):void
    {
    }
    
    public function moveColumns(fromCol:int, toCol:int, count:int):void
    {
    }
    
    public function dataProviderCollectionChanged(event:CollectionEvent):Boolean 
    {
        switch (event.kind)

        return new Rectangle(firstCellR.x, firstCellR.y, rowWidth, rowHeight); 
    }
    
    /**
     *  Returns the layout bounds of the specified column.
     */
    public function getColumnBounds(col:int):Rectangle
    {
        // TBD: provide optional return value (Rectangle) parameter
        if ((col < 0) || (col >= columnCount))
            return null;  // TBD: return empty Rectangle instead

