         
         bitmap.bitmapData = bitmapData;
     }
+    
+    private static var classDefCache:Object = {};
+    
+    /**
+     *  @private
+     */
+    private function weakIsCheck(obj:Object, className:String):Boolean
+    {
+        if (!(className in classDefCache))
+        {            
+            var classObj:Class = Class(systemManager.getDefinitionByName(className));
+            
+            classDefCache[className] = classObj;
+        }
+        
+        if (!classDefCache[className])
+            return false;
+            
+        return obj is classDefCache[className];
+    }
 }
 }        

        
        // Special case for Scroller - fill the entire rect.
        // TODO: Figure out a better solution.
        if (focusObject is FxScroller)
        {
            rect.x = rect.y = FOCUS_THICKNESS;
            rect.width = focusObject.width;

import flash.geom.Rectangle;

import mx.components.baseClasses.FxComponent;
import mx.core.UIComponent;
import mx.core.mx_internal;
import flash.utils.Dictionary;

/**
 *  Focus skins for Fx components.
