 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
 import mx.events.FlexEvent;
+import mx.events.PropertyChangeEvent;
 import mx.utils.ObjectUtil;
 
 import spark.components.supportClasses.CellPosition;

        invalidateDisplayList();        
    } 
    
    //--------------------------------------------------------------------------
    //
    //  Methods

                
            case CollectionEventKind.UPDATE:
            {
                // column may have changed visiblity                
                const itemsLength:int = event.items.length;
                var itemsLeft:int = count;
                var pcEvent:PropertyChangeEvent;
                
                for (i = 0; i < itemsLength; i++)
                {
                    pcEvent = event.items[i] as PropertyChangeEvent;
                    if (pcEvent && pcEvent.property == "visible")
                    {
                        columns_visibleChangedHandler(pcEvent);
                        itemsLeft--;
                    }
                }
                
                // return if all were visible property changes
                if (itemsLeft == 0)
                    return;
                
                break;
            }
                
