         
         for (var i:int = 0; i < thisContainerNumElements; i++)
         {
-            var elt:ILayoutDirection = thisContainer.getElementAt(i) as ILayoutDirection
-            if (!(elt is UIComponent))  // FIXME(hmuller) - should check for style clients
-                ILayoutDirection(elt).invalidateLayoutDirection();
+            var elt:IVisualElement = thisContainer.getElementAt(i);
+            if (!(elt is IStyleClient)) 
+                elt.invalidateLayoutDirection();
         }        
     }        
 

      
        //  If this is a leaf node, then we're done.  If not, the styleChanged() machinery
        //  (via commitProperties()) will deal with UIComponent children.   We have to 
        //  deal with other ILayoutDirection children, like GraphicElements, here.

        if (!(this is IVisualElementContainer))
            return;

     *  @private
     */
    protected function validateMatrix():void
    {        
        if (_layoutFeatures != null && _layoutFeatures.updatePending == true)
        {
            applyComputedMatrix();
