         }
     }
     
+    /**
+     *  Given a data item, return the correct text representation 
+     *  a renderer should display. 
+     *
+     *  @param item A data item 
+     *  
+     *  @return String representing the text to display for the 
+     *  passed in item's renderer. 
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function itemToLabel(item:Object):String
+    {
+    	if (item)
+            return item.toString();
+        return " ";
+    }
+    
     //--------------------------------------------------------------------------
     //
     //  Item -> Renderer mapping

import mx.core.UIComponent;
import mx.events.CollectionEvent;
import mx.events.CollectionEventKind;
import spark.events.RendererExistenceEvent;
import spark.layout.supportClasses.LayoutBase;
import spark.layout.supportClasses.LayoutElementFactory;

        if (!myItemRenderer && item is IVisualElement && item is DisplayObject)
            myItemRenderer = IVisualElement(item);

        // Set the owner property     
        myItemRenderer.owner = this;

        // Set the renderer's data to the item, but only if the item and renderer are different
        if ((myItemRenderer is IDataRenderer) && (myItemRenderer != item))
            IDataRenderer(myItemRenderer).data = item;   
        
        if (myItemRenderer is IItemRenderer)
        	IItemRenderer(myItemRenderer).labelText = itemToLabel(item);
                    
        // Couldn't find item renderer.  Throw an RTE.
        if (!myItemRenderer && failRTE)
