 
 import mx.collections.IList;
 import mx.components.FxDataContainer;
+import mx.components.ItemRenderer; 
+import mx.components.IItemRendererOwner; 
 import mx.core.IVisualElement;
 import mx.events.IndexChangedEvent;
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
+import mx.utils.LabelUtil; 
     
 /**
  *  Dispatched when the selection is going to change. 


        super.dataProvider = value;
        invalidateProperties();
    }
    
    //----------------------------------

                dispatchEvent(e);
            }
        }
        
        if (labelFieldOrFunctionChanged)
        {
        	//Cycle through all instantiated renderers
        	for (var i:int = 0; i < dataGroup.numChildren; i++)
        	{
        		var renderer:ItemRenderer = dataGroup.getElementAt(i) as ItemRenderer; 
        		//Push the correct text into the renderer if it has
        		//a labelElement part. 
        		if (renderer && renderer.labelElement)
        		{
        			renderer.labelElement.text = 
        				LabelUtil.itemToLabel(renderer.data, labelField, labelFunction);
        		}
        	}
        	labelFieldOrFunctionChanged = false; 
        }
    }
    
    //--------------------------------------------------------------------------
