      *  in the row.  This property is ignored by DataGrid.
      *
      *  <p>The iconFunction takes a single argument which is the item
-     *  in the data provider and returns a Class.</p>
+     *  in the data provider and returns a Class, as the following example shows:</p>
      * 
-     *  <blockquote>
-     *  <code>iconFunction(item:Object):Class</code>
-     *  </blockquote>
+     *  <pre>iconFunction(item:Object):Class</pre>
      * 
      *  @default null
      */

     *  in a data provider must either have a unique ID (UID)
     *  or one will be generated and associated with it.  This
     *  means that you cannot have an object or scalar value
     *  appear twice in a data provider. For example, the following
     *  data provider is not supported because the value "foo"
     *  appears twice and the UID for a string is the string itself:
     *
     *  <blockquote>
     *  <code>var sampleDP:Array = ["foo", "bar", "foo"]</code>
     *  </blockquote>
     *
     *  Simple dynamic objects can appear twice if they are two
     *  separate instances. The following is supported because
     *  each of the instances will be given a different UID because
     *  they are different objects:
     *
     *  <blockquote>
     *  <code>var sampleDP:Array = [{label: "foo"}, {label: "foo"}]</code>
     *  </blockquote>
     *
     *  Note that the following is not supported because the same instance
     *  appears twice.
     *
     *  <blockquote>
     *  <code>var foo:Object = {label: "foo"};
     *  sampleDP:Array = [foo, foo];</code>
     *  </blockquote>
     *
     *  @param data The data provider item.
     *

        var contentHolder:ListBaseContentHolder = DisplayObject(item).parent as ListBaseContentHolder;
        
        if (!contentHolder)
            return;
            
        var rowInfo:Array = contentHolder.rowInfo;
        var selectionLayer:Sprite = contentHolder.selectionLayer;

