             var type:String = types[i].toString();
             if (StyleManager.hasAdvancedSelectors() && advancedObject != null)
             {
-                var decls:Object = StyleManager.getStyleDeclarations(type);
+                var decls:Array = StyleManager.getStyleDeclarations(type);
                 if (decls)
                 {
                     var matchingDecls:Array = matchStyleDeclarations(decls, advancedObject);

            {
                try
                {
                    var type:String = NameUtil.getUnqualifiedClassName(className);
                    hierarchy[type] = true;
                    className = getQualifiedSuperclassName(
                        myApplicationDomain.getDefinition(className));


    /**
     *  @private
     *  @param object - the IStyleClient to be introspected  
     *  @param qualified - whether qualified type names should be used
     *  @return an ordered map of class names, starting with the object's class
     *  name and then each super class name until we hit a stop class, such as
     *  mx.core::UIComponent.
     */
    private static function getTypeHierarchy(object:IStyleClient, qualified:Boolean=true):OrderedObject
    {
        var className:String = getQualifiedClassName(object);
        var hierarchy:OrderedObject = StyleManager.typeHierarchyCache[className] as OrderedObject;
        if (hierarchy == null)
        {
            hierarchy = new OrderedObject();
