     
     private function layoutColumnSeparator(separator:IVisualElement, columnIndex:int):void
     {
+        // Initialize this visual element
+        intializeGridVisualElement(separator, -1, columnIndex);
+        
         const r:Rectangle = visibleItemRenderersBounds;
         const width:Number = separator.getPreferredBoundsWidth();
         const height:Number = Math.max(r.height, visibleGridBounds.height); 

    
    private function layoutRowSelectionIndicator(indicator:IVisualElement, rowIndex:int):void
    {
        layoutGridElementR(indicator, gridDimensions.getRowBounds(rowIndex));
    }    
    

        if  ((rowIndex < rowCount) && (bounds.width == 0)) // implies no columns
            bounds.width = visibleGridBounds.width;
        
        // Initialize this visual element
        intializeGridVisualElement(rowBackground, rowIndex);
        
        layoutGridElementR(rowBackground, bounds);
    }

    private function layoutRowSeparator(separator:IVisualElement, rowIndex:int):void
    {
        // Initialize this visual element
        intializeGridVisualElement(separator, rowIndex);
        
        const height:Number = separator.getPreferredBoundsHeight();
        const rowCount:int = gridDimensions.rowCount;
        const bounds:Rectangle = (rowIndex < rowCount) 
