 import mx.core.IVisualElement;
 import mx.core.mx_internal;
 
+import spark.components.DataGroup;
+import spark.components.supportClasses.GridColumn;
 import spark.layouts.supportClasses.LayoutBase;
 
 use namespace mx_internal;

        // shrink below them.
        layoutTarget.measuredMinWidth = totalWidth;
        layoutTarget.measuredMinHeight = totalHeight; 
    }

    /**

            var element:ILayoutElement = 
                layoutTarget.getVirtualElementAt(columnIndex);
            
            var gridColumn:GridColumn = 
                DataGroup(target).dataProvider.getItemAt(columnIndex) as GridColumn;

            var elementWidth:Number;
            var elementHeight:Number;            
            
            // FIXME: this isn't right.  It isn't using a typicalItem.  And
            // it is only working because the DefaultColumnHeaderItemRenderer
            // has width set to 150, height set to 32.
            if (!isNaN(gridColumn.width))
                elementWidth = gridColumn.width;
            else
                elementWidth = element.getPreferredBoundsWidth();
            
            if (!isNaN(gridColumn.minWidth) && elementWidth < gridColumn.minWidth)
                elementWidth = gridColumn.minWidth;
            
            if (!isNaN(gridColumn.maxWidth) && elementWidth > gridColumn.maxWidth)
                elementWidth = gridColumn.maxWidth;
            
            // FIXME: access this through cover method
            gridDimensions.setColumnWidth(columnIndex, elementWidth);
            
            elementHeight = element.getPreferredBoundsHeight();
            
            element.setLayoutBoundsSize(elementWidth, elementHeight);
            
            // Position the element.
            // FIXME: can this be calculated from the width of each element
            // plus the columnGap? (but there is not a columnGap property)
            const bounds:Rectangle = gridDimensions.getColumnBounds(columnIndex);
            element.setLayoutBoundsPosition(bounds.x, 0);
            
            // Find maximum element extents.
            maxHeight = Math.max(maxHeight, elementHeight);
        }
                
        // Scrolling support - update the content size
        layoutTarget.setContentSize(gridDimensions.contentWidth, maxHeight);
        
        // ToDo(cframpto): refactor these methods so both GridLayout and
        // this layout can use them.
                
        // Now layout the separators between the headers.
        visibleHeaderSeparators = gridLayout.layoutColumnHeaderSeparators(
                                                oldVisibleColumnIndices, 
