         props[typeInfo.propName] = typeInfo;
     }
     
-    private static var _typeInfoByClassName:Dictionary = new Dictionary();
+    
+    private static function getKeys(d:Dictionary):Array
+    {
+        var a:Array = new Array();
+        
+        for (var key:Object in d)
+        {
+            a.push(key);
+        }
+        
+        return a;
+    }
     
     public static function dumpClasses():void
     {

     */
    public static var generateClasses:Boolean = false;
    
    /** stashTypeInfo builds up an index of all types, and all properties
     * so that we can consider code-generation of decoding classes
     */
    

                continue;
            
            var clazz:Class = XObjUtils.getClassByName(c);
            if (clazz == null || clazz == Object ||
                clazz == String || clazz == Array ||
                clazz == ArrayCollection)
                continue;
            
            var cname:String = XObjUtils.getUnqualfiedClassName(clazz);
