     //  Public Properties 
     //
     //--------------------------------------------------------------------------
+    
+    //----------------------------------
+    //  handleHighlightBackground
+    //----------------------------------
+    
+    /**
+     *  @private
+     *  storage for the handleHighlightBackground property 
+     */ 
+    private var _handleHighlightBackground:Boolean = false;
+    
+    /**
+     *  Whether the item renderer should handle drawing the 
+     *  selection/highlight background.
+     * 
+     *  <p>If set to <code>true</code>, the background for 
+     *  the item renderer will automatically be drawn, and it 
+     *  will depend on the styles that are set (contentBackgroundColor, 
+     *  alternatingItemColor, rollOverColor, selectionColor) as 
+     *  well as what state the item renderer is in (normal, 
+     *  selected, or hovered).<p>
+     * 
+     *  @default false
+     */
+    public function get handleHighlightBackground():Boolean
+    {
+        return _handleHighlightBackground;
+    }
+    
+    /**
+     *  @private
+     */
+    public function set handleHighlightBackground(value:Boolean):void
+    {
+        if (_handleHighlightBackground == value)
+            return;
+        
+        _handleHighlightBackground = value;
+        
+        if (_handleHighlightBackground)
+        {
+            redrawRequested = true;
+            super.$invalidateDisplayList();
+        }
+    }
+    
+    //----------------------------------
+    //  index
+    //----------------------------------
+    
+    /**
+     *  @private
+     *  storage for the index property 
+     */    
+    private var _index:int;
+    
+    /**
+     *  @inheritDoc 
+     *
+     *  @default false
+     */    
+    public function get index():int
+    {
+        return _index;
+    }
+    
+    /**
+     *  @private
+     */    
+    public function set index(value:int):void
+    {
+        if (value == _index)
+            return;
+        
+        _index = value;
+        dispatchEvent(new Event("contentBackgroundColorChanged"));
+        if (handleHighlightBackground)
+        {
+            redrawRequested = true;
+            super.$invalidateDisplayList();
+        }
+    }
     
     //----------------------------------
     //  labelDisplay

        {
            conditionalEventDispatch("contentBackgroundColorChanged");
        }
        
        if (allStyles || styleName == "rollOverColor")
        {
            conditionalEventDispatch("rollOverColorChanged");
        }
        
        if (allStyles || styleName == "selectionColor")
        {
            conditionalEventDispatch("selectionColorChanged");
        }
    }
    
    //--------------------------------------------------------------------------

            // translate these colors into uints
            styleManager.getColorNames(alternatingColors);
            
            return alternatingColors[index % alternatingColors.length];
        }
        
        return getStyle("contentBackgroundColor");
