  *  list-based control: 
  *
  *  <ul>
- *    <li>An icon on the left defined by the <code>iconField</code> property.</li>
+ *    <li>An icon on the left defined by the <code>iconField</code> or 
+ *      <code>iconFunction</code> property.</li>
  *    <li>A single-line text label next to the icon defined by the 
  *      <code>labelField</code> or <code>labelFunction</code> property.</li>
  *    <li>A multi-line message below the text label defined by the 
  *      <code>messageField</code> or <code>messageFunction</code> property.</li>
  *    <li>A decorator icon on the right defined by the 
- *      <code>decoratorClass</code> property.</li>
+ *      <code>decorator</code> property.</li>
  *  </ul>
  *
  *  <p>To apply CSS styles to the single-line text label, such as font size and color, 

			var messageY:Number = labelComponentsY + labelAlignmentHeight + verticalGap;
			setElementPosition(messageDisplay, labelComponentsX, messageY);
		}
        
        // see if we have an icon that needs to be validated
        if (iconDisplay && 
            iconDisplay.displayObject is ISharedDisplayObject && 
            ISharedDisplayObject(iconDisplay.displayObject).redrawRequested)
        {
            ISharedDisplayObject(iconDisplay.displayObject).redrawRequested = false;
            iconDisplay.validateDisplayList();
            // if decoratorDisplay is also using this displayObject than validate
            // decoratorDisplay as well
            if (decoratorDisplay && 
                decoratorDisplay.displayObject is ISharedDisplayObject && 
                decoratorDisplay.displayObject == iconDisplay.displayObject)
                decoratorDisplay.validateDisplayList();
        }
        
        // check just for decoratorDisplay in case it has a different displayObject
        // than iconDisplay
        if (decoratorDisplay && 
            decoratorDisplay.displayObject is ISharedDisplayObject && 
            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested)
        {
            ISharedDisplayObject(decoratorDisplay.displayObject).redrawRequested = false;
            decoratorDisplay.validateDisplayList();
        }
    }
    
}

            {
                // get rid of labelDisplay if present
                if (labelDisplay)
                    destroyLabelDisplay();
            }
            
            invalidateSize();
