 {
 
     include "api-versions.as"
+    /**
+    * The JSON class lets developers import and export data to and from JavaScript Object Notation (JSON) format. JSON is an industry standard data-interchange
+    * format that is described at <a href="http://www.json.org">http://www.json.org</a>.
+    * 
+    * <p>This class supports most ActionScript classes. ActionScript classes that do not support JSON typically return their class name as a string.</p>
+    * @playerversion Flash 11
+    * @playerversion AIR 3.0
+    * @langversion 3.0
+    */
 
     [API(CONFIG::SWF_13)]
     [native(cls="JSONClass", classgc="exact", methods="auto", construct="none")]

            return (new Walker(reviver)).walk({ "": unfiltered }, "");
        }

        public static function stringify(value:Object,
                                         replacer=null,
                                         space=null):String

                                                     replacerFunction:Function,
                                                     gap:String):String;

        /**
        * Accepts a JSON-formatted String and returns an Actionscript Object that represents that value. JSON objects, 
        * arrays, strings, numbers, booleans, and null map to corresponding Actionscript values, as shown below:
        * <p>
        * <table class="innertable">
        * <tr><th>JSON type</th><th>ActionScript type</th></tr>
        * <tr><td>array</td><td>Array</td></tr>
        * <tr><td>string</td><td>String</td></tr>
        * <tr><td>number</td><td>Number</td></tr>
        * <tr><td>boolean</td><td>Boolean</td></tr>
        * <tr><td>null</td><td>null</td></tr>
        * </table>
        * </p>
        * 
        * <p>The <code>reviver</code> parameter is a function that takes two parameters: a key and a value. You can use this
        * function to transform or filter each key/value pair as it is parsed. If you supply a <code>reviver</code> function, your transformed 
        * or filtered value for each pair, rather than the default parsing, is returned in the <code>parse()</code> function output. If
        * the <code>reviver</code> function returns <code>undefined</code> for any pair, the property is deleted from the final result.
        * </p>
        *
        * <p>If the <code>parse()</code> function encounters duplicate name strings within the object being parsed, the value of the duplicate 
        * key encountered last becomes the value for all preceding occurrences of that key.
        * </p>
        *
        * @param text The JSON string to be parsed
        * @param reviver (Optional) A function that transforms each key/value pair that is parsed
        (
        * @playerversion Flash 11
        * @playerversion AIR 3.0
        * @langversion 3.0
        */
        public static function parse(text:String,
                                     reviver:Function = null):Object
        {
