 
     /**
      *  @private
+     */
+    mx_internal var textInvalid:Boolean = false;
+    
+    /**
+     *  @private
      *  Mouse shield that is put up when this component is disabled.
      */
     private var mouseShield:DisplayObject;
+
+    /**
+     *  @private
+     *  Text is a special case from the proxy pattern used for all the other
+     *  textView properties.  It is expensive to extract the text from the  
+     *  textFlow so it is only done when really necessary.  As a result, the
+     *  textView text setter does not follow the normal pattern of checking
+     *  the value against the property and returning if it's already set.
+     *  We only want to proxy the text in the textView when we really need it
+     *  to be changed.
+     */
+    private var proxyText:Boolean = false;
 
     //--------------------------------------------------------------------------
     //

     */
    public function get editable():Boolean
    {
        return _editable;
    }

    /**

    /**
     *  @private
     */
    override public function get maxWidth():Number
    {
        if (textView)
            return textView.maxWidth;
            
        // want the default to be default max width for UIComponent
        var v:* = textViewProperties.maxWidth;
        return (v === undefined) ? super.maxWidth : v;        
    }

    /**
     *  @private
     */
    override public function set maxWidth(value:Number):void
    {
        if (textView)
            textView.maxWidth = value;
        else
            textViewProperties.maxWidth = value;

        invalidateProperties();            
    }

    //----------------------------------
    //  restrict
    //----------------------------------

    /**
     *  Documentation is not currently available.
