         
         private var _columns:IList = null; // list of GridColumns
         private var columnsChanged:Boolean = false;
-        private var generatedColumns:Boolean = false;
         
         [Bindable("columnsChanged")]
         

         */
        public function get columns():IList
        {
            if (_columns == null)
            {
                setColumns(generateColumns());
                generatedColumns = true;
            }
            
            return _columns;
        }
        

    import mx.events.CollectionEvent;
    import mx.events.CollectionEventKind;
    import mx.events.FlexEvent;
    import mx.utils.ObjectUtil;    
    
    import spark.components.supportClasses.GridColumn;
    import spark.components.supportClasses.GridDimensions;
