 { 
 import flash.events.Event;
 import flash.events.MouseEvent;
-import flash.geom.Rectangle;
+import flash.geom.Point;
 
 import mx.collections.IList;
 import mx.core.ClassFactory;
 import mx.core.IFactory;
 import mx.core.IVisualElement;
 import mx.core.mx_internal;
-import mx.events.CollectionEvent;
-import mx.events.CollectionEventKind;
+import mx.managers.CursorManager;
 import mx.managers.IFocusManagerComponent;
 
+import spark.components.supportClasses.ColumnHeaderBarLayout;
 import spark.components.supportClasses.DefaultColumnHeaderRenderer;
 import spark.components.supportClasses.GridColumn;
 import spark.events.RendererExistenceEvent;

            dataGroup.removeEventListener(RendererExistenceEvent.RENDERER_ADD, dataGroup_rendererAddHandler);
            dataGroup.removeEventListener(RendererExistenceEvent.RENDERER_REMOVE, dataGroup_rendererRemoveHandler);
            horizontalScrollPosition = 0;
        }

        super.partRemoved(partName, instance);

     */
    override public function set dataProvider(value:IList):void
    {
        //if (dataProvider)
        //    dataProvider.removeEventListener(CollectionEvent.COLLECTION_CHANGE, dataProvider_collectionChangeHandler);
                
        // ensure that our listener is added before the dataGroup which adds a listener during
        // the base class setter if the dataGroup already exists.  If the dataGroup isn't
        // created yet, then we still be first.
        //if (value)
        //    value.addEventListener(CollectionEvent.COLLECTION_CHANGE, dataProvider_collectionChangeHandler);
        
        super.dataProvider = value;
    }
