      *  @private
      */
     mx_internal var focusObj:DisplayObject;
+    mx_internal var drawFocusAnyway:Boolean;
     
     override public function drawFocus(isFocused:Boolean):void
     {

        if (skin)
            skin.setActualSize(unscaledWidth, unscaledHeight);

        if (focusObj && focusObj is IInvalidating)
            IInvalidating(focusObj).invalidateDisplayList();
    }

    /**

        {
            // For some composite components, the focused object may not
            // be "this". If so, we don't want to draw the focus.
            if (focusManager.getFocus() != this && !mx_internal::drawFocusAnyway)
                return;
                
            if (!mx_internal::focusObj)
            {
                var focusSkinClass:Class = getStyle("focusSkin");
                
                if (focusSkinClass)
                    mx_internal::focusObj = new focusSkinClass();
                    
                super.addChildAt(mx_internal::focusObj, 0);
            }
			if (mx_internal::focusObj && "focusObject" in mx_internal::focusObj)
				mx_internal::focusObj["focusObject"] = this;
        }
        else
        {
            if (mx_internal::focusObj)
                super.removeChild(mx_internal::focusObj);
            mx_internal::focusObj = null;
        }
    }
    
