 import mx.core.EdgeMetrics;
 import mx.core.FlexSprite;
 import mx.core.IFlexDisplayObject;
+import mx.core.IUIComponent;
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
 import mx.events.DataGridEvent;

            dgSelectionLayer.addChild(DisplayObject(proxy));

            proxy.data = c;
            proxy.styleName = getStyle("headerDragProxyStyleName");
            UIComponentGlobals.layoutManager.validateClient(proxy, true);
            proxy.setActualSize(c.width, dataGrid._explicitHeaderHeight ?
                dataGrid.headerHeight : proxy.getExplicitOrMeasuredHeight());

                continue;
            }

            // Spark skins don't measure if the width is specified.
            var skinWidth:Number;
            if (sepSkin is IUIComponent)
                skinWidth = IUIComponent(sepSkin).getExplicitOrMeasuredWidth();
            else
                skinWidth = sepSkin.measuredWidth;
            
            sep.visible = true;
            sep.x = headerItems[i].x +
                    visibleColumns[i].width - Math.round(skinWidth / 2);
            if (i > 0)
            {
                sep.x = Math.max(sep.x,
                                 separators[i - 1].x + Math.round(skinWidth / 2));
            }
            sep.y = 0;
            sepSkin.setActualSize(skinWidth, Math.ceil(cachedHeaderHeight));

                        // Draw invisible background for separator affordance
            sep.graphics.clear();
            sep.graphics.beginFill(0xFFFFFF, 0);
            sep.graphics.drawRect(-separatorAffordance, 0,
