      */
     public function get inheritingStyles():Object
     {
+        if (mergedInheritingStylesCache)
+            return mergedInheritingStylesCache;
+        
         var mergedStyles:Object = _inheritingStyles;
         
         if (parent)
         {
             var otherStyles:Object = parent.inheritingStyles;
+            
             for (var obj:Object in otherStyles)
             {
                 if (mergedStyles[obj] === undefined)

     *  The method registerParentSizeInvalidatingStyle() adds to this set
     *  and isParentSizeInvalidatingStyle() queries this set.
     */
    private static var parentSizeInvalidatingStyles:Object =
        {
            baseline: true,
            bottom: true,

            }
        }
        
        mergedInheritingStylesCache = mergedStyles;
        
        return mergedStyles;
    }
    
    public function set inheritingStyles(value:Object):void
    {
        _inheritingStyles = value;
        mergedInheritingStylesCache = null;
        
        if (hasEventListener(FlexChangeEvent.STYLE_MANAGER_CHANGE))
            dispatchInheritingStylesChangeEvent();
    }

    //----------------------------------
