     /**
      *  @private
      */
+    override public function validateSize(recursive:Boolean = false):void
+    {
+        // Since IGraphicElement is not ILayoutManagerClient, we need to make sure we
+        // validate sizes of the elements, even in cases where recursive==false.
+        
+        // Validate element size
+        if (iconNeedsValidateSize)
+        {
+            iconNeedsValidateSize = false;
+            if (iconDisplay)
+                iconDisplay.validateSize();
+        }
+        
+        super.validateSize(recursive);
+    }
+    
+    /**
+     *  @private
+     */
     override protected function measure():void
     {
         // don't call super.measure() because there's no need to do the work that's

        invalidateProperties(); 
    }
    
    //--------------------------------------------------------------------------
    //
    //  Overridden methods: UIComponent

     *  The bitmap image component used to 
     *  display the icon data of the item renderer.
     * 
     *  <p>Because MobileIconItemRenderer implements ISharedDisplayObject 
     *  and IGraphicElementContainer, we don't need to wrap iconDisplay 
     *  in a Group; however, it does require a little more work when instantiating 
     *  and destroying iconDisplay.</p>
     * 
     *  @langversion 3.0
     *  @playerversion Flash 10
     *  @playerversion AIR 2.5
     *  @productversion Flex 4.5
     */
    protected var iconDisplay:BitmapImage;
    
    /**
     *  The name of the field in the data item to display as the icon. 
