     {
         switch (event.kind)
         {
-            case CollectionEventKind.ADD:    return dataProviderCollectionAdd(event);
-            case CollectionEventKind.REMOVE: return dataProviderCollectionRemove(event);
+            case CollectionEventKind.ADD:    
+                return dataProviderCollectionAdd(event);
                 
-            case CollectionEventKind.REPLACE:
+            case CollectionEventKind.REMOVE: 
+                return dataProviderCollectionRemove(event);
+                
             case CollectionEventKind.MOVE:
+                // TBD(hmuller)
+                break;
+            
             case CollectionEventKind.REFRESH:
             case CollectionEventKind.RESET:
             case CollectionEventKind.UPDATE:
+            case CollectionEventKind.REPLACE:
                 break;
         }
         

        return indicator;
    }
    
    private function layoutHoverIndicator(container:IVisualElementContainer):void
    {
        const rowIndex:int = grid.hoverRowIndex;
        const colIndex:int = grid.hoverColumnIndex;
        const factory:IFactory = grid.hoverIndicator;
        hoverIndicator = layoutIndicator(container, factory, hoverIndicator, rowIndex, colIndex); 
    }
    
    private function layoutCaretIndicator(container:IVisualElementContainer):void

    {
        if (!grid)
            return;
        
        // If the hoverIndicator is visible then we're going to have to fixup it's location
        // at updateDisplayList() time.
        
        if ((grid.hoverRowIndex != -1) || (grid.hoverColumnIndex != -1))
        {
            const oldScrollR:Rectangle = grid.scrollRect;
            const dx:Number = grid.horizontalScrollPosition - oldScrollR.x;
            const dy:Number = grid.verticalScrollPosition - oldScrollR.y;
            invalidateHoverLocation(dx, dy);
        }
        
        super.scrollPositionChanged();
        
