     public var labelDisplay:TextGraphicElement;
     
     //----------------------------------
-    //  allowDeselection
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Storage for the allowDeselection property 
-     */
-    private var _allowDeselection:Boolean = true;
-
-    /**
-     *  @inheritDoc 
-     *
-     *  @default true
-     */    
-    public function get allowDeselection():Boolean
-    {
-        return _allowDeselection;
-    }
-    
-    /**
-     *  @private
-     */    
-    public function set allowDeselection(value:Boolean):void
-    {
-        if (value == _allowDeselection)
-            return;
-            
-        _allowDeselection = value;
-    }
-    
-    //----------------------------------
-    //  caret
-    //----------------------------------
-
-    /**
-     *  @private
-     *  Storage for the caret property 
-     */
-    private var _caret:Boolean = false;
+    //  showsCaret
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the showsCaret property 
+     */
+    private var _showsCaret:Boolean = false;
 
     /**
      *  @inheritDoc 
      *
      *  @default false  
      */    
-    public function get caret():Boolean
-    {
-        return _caret;
+    public function get showsCaret():Boolean
+    {
+        return _showsCaret;
     }
     
     /**
      *  @private
      */    
-    public function set caret(value:Boolean):void
-    {
-        if (value == _caret)
+    public function set showsCaret(value:Boolean):void
+    {
+        if (value == _showsCaret)
             return;
 
-        _caret = value;
+        _showsCaret = value;
         setCurrentState(getCurrentRendererState(), playTransitions);  
     }
     

    }
       
    //----------------------------------
    //  labelText
    //----------------------------------
    [Bindable("textChanged")]
    
    /**
     *  @private 
     *  Storage var for labelText
     */ 
    private var _labelText:String = "";
    
    /**
     *  @inheritDoc 
     *
     *  @default ""    
     */
    public function get labelText():String
    {
        return _labelText;
    }
    
    /**
     *  @private
     */ 
    public function set labelText(value:String):void
    {
        if (value != _labelText)
            _labelText = value;
        dispatchEvent(new FlexEvent("textChanged"));
    }
    

     */
    protected function getCurrentRendererState():String
    {
    	if (selected && showsCaret && hasState("selectedAndShowsCaret"))
    	   return "selectedAndShowsCaret";
    	    
        if (hovered && showsCaret && hasState("hoveredAndShowsCaret"))
            return "hoveredAndShowsCaret";
             
        if (showsCaret && hasState("normalAndShowsCaret"))
            return "normalAndShowsCaret"; 
            
        if (selected && hasState("selected"))
            return "selected";
