     //--------------------------------------------------------------------------
     
     /**
+     *  @private
      *  Event handler for the <code>dropDownController</code> 
      *  <code>DropDownEvent.OPEN</code> event. Updates the skin's state and 
      *  ensures that the selectedItem is visible. 

     */
    override public function set labelFunction(value:Function):void
    {
    	if (labelFunction == value)
    		return;
    		
    	super.labelFunction = value;
    	labelChanged = true;
    	invalidateProperties();
    }
    
    //--------------------------------------------------------------------------

     */
    protected function dropDownController_closeHandler(event:DropDownEvent):void
    {
        addEventListener(FlexEvent.UPDATE_COMPLETE, close_updateCompleteHandler);
        invalidateSkinState();
        
        if (!event.isDefaultPrevented())
        {
            selectedIndex = proposedSelectedIndex;  
        }
    }

    /**
     *  @private
     */
    private function close_updateCompleteHandler(event:FlexEvent):void
    {   
        removeEventListener(FlexEvent.UPDATE_COMPLETE, close_updateCompleteHandler);
        
        dispatchEvent(new DropDownEvent(DropDownEvent.CLOSE));
    }
    
}
}
