                 
             // initialize the renderer
             
-            renderer.column = column;
-            renderer.label = column.headerText;
-            renderer.visible = true; 
+            initializeItemRenderer(renderer, columnIndex, column, true);
             if (renderer.parent != columnHeaderGroup)
                 columnHeaderGroup.addElement(renderer);
             

    {
        const columnHeaderGroup:GridColumnHeaderGroup = columnHeaderGroup;
        const grid:Grid = grid;
        
        if (!columnHeaderGroup || !grid)
            return -1; 
        
        const paddingLeft:Number = columnHeaderGroup.getStyle("paddingLeft");
        return grid.getColumnIndexAt(x + paddingLeft, 0);
    }
    
    /**

        element.visible = false;
    }
    
    //----------------------------------
    //  columnHeaderGroup
    //----------------------------------
    
    /**
     *  @private
     */
    private function get columnHeaderGroup():GridColumnHeaderGroup
    {
        return target as GridColumnHeaderGroup;
    }
    
    //----------------------------------
    //  grid
    //----------------------------------
    
    /**
     *  @private
     */
    private function get grid():Grid
    {
        const chg:GridColumnHeaderGroup = columnHeaderGroup;
