         return false;
     }
 
+    /**
+     *  @private
+     *  Return an object giving the bounds of this grid item (row or cell).
+     *  The object returned is either an IVisualElement (renderer), in which
+     *  case its coordinates are assumed to be stage-based, or a
+     *  flash.geom.Rectangle, in which case its coordinates are relative to
+     *  the top left corner of the DataGrid.  These are the requirements of
+     *  the AccImpl::get_accLocation() method.
+     *
+     *  @return The Rectangle indicating the item's bounds.
+     */
     public function boundingRect():Object
     {
         // First see if this item is on screen.

            || mode == GridSelectionMode.MULTIPLE_ROWS
        );
        maxChildID = 0;
        // Account for visible headers.
        maxChildID += visibleHeaderCount;
        // Then for visible cells or rows as appropriate.
        if (isCellMode)
            maxChildID += visibleRowCount * visibleColumnCount;
        else
            maxChildID += visibleRowCount;
        isColumnHeader = false;
        isInvalid = false;
        if (childIDOutOfBounds(childID))
        {
            isInvalid = true;
            visibleColumnIndex = -1;
            visibleRowIndex = -1;
            itemIndex = -1;
        }
        else if (itemIndex < 0)
        {
            // This childID refers to a header, not a data row or cell.
            isColumnHeader = true;
            visibleColumnIndex = itemIndex + visibleColumnCount;
            visibleRowIndex = -1;
            itemIndex = -1;
        }
        else if (isCellMode)
        {
            visibleRowIndex = Math.floor(itemIndex / visibleColumnCount);
            visibleColumnIndex = itemIndex % visibleColumnCount;
        }
        else
        {
            visibleRowIndex = itemIndex;
            // Using 0 here so, for example, getItemRendererAt() calls still work for a row.
            visibleColumnIndex = 0;
        }
        rowIndex = visibleRowIndex;
        columnIndex = visibleColumnIndex;
        if (visibleRowIndex >= 0 && visibleRowIndices != null)
            rowIndex = visibleRowIndices[visibleRowIndex];
        if (visibleColumnIndex >= 0 && visibleColumnIndices != null)
            columnIndex = visibleColumnIndices[visibleColumnIndex];
    }

    // The master component reference for which this AccImpl is instantiated.
    public var master:UIComponent;
    // The childID within that component for which this accInfo is calculated.

            {
                // The selected childID is effectively the 1-based cell index.
                // This is row*colCount + columnInRow +columnHeaderCount +1.
                accSelection[i] = items[i].rowIndex * dgAccInfo.reachableColumnCount
                + items[i].columnIndex
                + dgAccInfo.headerCount + 1;
            }
