     }
 
     //----------------------------------
-    //  requireSelection
-    //----------------------------------
-    
-    /**
-     *  @private
-     *  Storage for the requireSelection property.
-     */
-    private var _requireSelection:Boolean = false;
-    
-    /**
-     *  @private
-     *  Flag that is set when requireSelection has changed.
-     */
-    private var requireSelectionChanged:Boolean = false;
-
-    /**
-     *  If <code>true</code>, a data item must always be selected in the control.
-     *  If the value is <code>true</code>, the <code>selectedIndex</code> property 
-     *  is always set to a value between 0 and (<code>dataProvider.length</code> - 1), 
-     *
-     *  @default false
-     *  
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get requireSelection():Boolean
-    {
-        return _requireSelection;
-    }
-
-    /**
-     *  @private
-     */
-    public function set requireSelection(value:Boolean):void
-    {
-        if (value == _requireSelection)
-            return;
-            
-        _requireSelection = value;
-        
-        // We only need to update if the value is changing 
-        // from false to true
-        if (value == true)
-        {
-            requireSelectionChanged = true;
-            invalidateProperties();
-        }
-    }
-    
-    //----------------------------------
     //  useVirtualLayout
     //----------------------------------
 

    }
    
    /**
     *  @private
     */
    override protected function partAdded(partName:String, instance:Object):void
    {
        super.partAdded(partName, instance);
        if (instance == dataGroup)
        {
            // Not your typical delegation, see 'set useVirtualLayout'
            if (_useVirtualLayout && dataGroup.layout)
                dataGroup.layout.useVirtualLayout = true;
        }
    }

    //--------------------------------------------------------------------------
    //
    //  Methods
    //
    //--------------------------------------------------------------------------
    
    /**
     *  Given a data item, return the correct text a renderer
     *  should display while taking the <code>labelField</code> 
     *  and <code>labelFunction</code> properties into account. 

    //  labelFunction
    //----------------------------------
    
	/**
	 *  @private
	 */
    private var _labelFunction:Function; 
    
    /**
