     //  Note that initProtoChain is 99% copied into DataGridItemRenderer
     mx_internal function initProtoChain():void
     {
-        //trace("initProtoChain", name);
-
-        var classSelector:CSSStyleDeclaration;
+        var classSelectors:Array = [];
 
         if (styleName)
         {
             if (styleName is CSSStyleDeclaration)
             {
                 // Get the style sheet referenced by the styleName property
-                classSelector = CSSStyleDeclaration(styleName);
+                classSelectors.push(CSSStyleDeclaration(styleName));
             }
             else if (styleName is IFlexDisplayObject || styleName is IStyleClient)
             {

        //  - for non-inheriting styles, the global style sheet
        //  - for inheriting styles, my parent's style object
        var nonInheritChain:Object = StyleManager.stylesRoot;
        
        if (nonInheritChain && nonInheritChain.effects)
            registerEffects(nonInheritChain.effects);
        
        var p:IStyleClient = parent as IStyleClient;
        if (p)
        {

     *  The class style used by this component. This can be a String, CSSStyleDeclaration
     *  or an IStyleClient. 
     *
     *  <p>If this is a String, it is the name of one or more whitespace delimited class
     *  declarations in an <code>mx:Style</code> tag or CSS file. You do not include the period
     *  in the <code>styleName</code>. For example, if you have a class style named <code>".bigText"</code>,
     *  set the <code>styleName</code> property to <code>"bigText"</code> (no period).</p>
     *
     *  <p>If this is an IStyleClient (typically a UIComponent), all styles in the
