         bounds.top = topEdge(row);
         bounds.bottom = bottomEdge(row);
         return bounds;
-    } 
-
-    /**
-     *  @private 
-     */    
+    }
+
+    /**
+     *  @private
+     */
     override protected function elementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
     {
         var bounds:Rectangle = new Rectangle();

    }

    /**
     *  @private 
     *  @return Returns the x coordinate of the left edge for the specified column.  
     */
    final private function leftEdge(columnIndex:int):Number
    {
        return Math.max(0, columnIndex * (_columnWidth + _horizontalGap));
    }
    
    /**
     *  @private 
     *  @return Returns the x coordinate of the right edge for the specified column.  
     */
    final private function rightEdge(columnIndex:int):Number
    {
        return Math.min(target.contentWidth, columnIndex * (_columnWidth + _horizontalGap) + _columnWidth);
    }
    
    /**
     *  @private 
     *  @return Returns the y coordinate of the top edge for the specified row.  
     */
    final private function topEdge(rowIndex:int):Number
    {

        updateActualValues(layoutTarget.explicitWidth, layoutTarget.explicitHeight);

        // For measure, any explicit overrides for rowCount and columnCount take precedence
        var columnCount:int = explicitColumnCount != -1 ? Math.max(1, explicitColumnCount) : _columnCount;
        var rowCount:int = explicitRowCount != -1 ? Math.max(1, explicitRowCount) : _rowCount;

        layoutTarget.measuredWidth = Math.round(columnCount * (_columnWidth + _horizontalGap) - _horizontalGap);
        layoutTarget.measuredHeight = Math.round(rowCount * (_rowHeight + _verticalGap) - _verticalGap);

        // measured min size is guaranteed to have enough rows/columns to fit all elements
        layoutTarget.measuredMinWidth = Math.round(_columnCount * (_columnWidth + _horizontalGap) - _horizontalGap);
        layoutTarget.measuredMinHeight = Math.round(_rowCount * (_rowHeight + _verticalGap) - _verticalGap);
    }

    /**
