anchor.diff:      else {
         throw new JsonObjectException("JsonObject is not extendable");
       }
  -
  -  }
  -
  +  }
   }
   
  -
  +/**
  + * Exception class thrown by JSON Object
  + */
   class JsonObjectException implements Exception {
     const JsonObjectException([String message]) : this._message = message;
     String toString() => (this._message != null
  
positive.code: 
    }
  
    ///An alternate constructor, allows creating directly from a map
    ///rather than a json string.
    JsonObject.fromMap(Map map) {
      _jsonString = JSON.stringify(map);
      _objectData = map;
  
negative.code:   
    
  
    /***************************************************************************
     * Map implementation methods and properties *
     * 
     */
    
    // Pass through to the inner _objectData map.
    bool containsValue(value) => _objectData.containsValue(value);
    
    // Pass through to the inner _objectData map.
    bool containsKey(value) => _objectData.containsKey(value);
    
    // Pass through to the inner _objectData map.
    operator [](key) => _objectData[key];
    
    // Pass through to the inner _objectData map.
    forEach(func(key,value)) => _objectData.forEach(func);
    
    // Pass through to the inner _objectData map.
    Iterable get keys => _objectData.keys;
    
    // Pass through to the inner _objectData map.
    Iterable get values => _objectData.values;
    
    // Pass through to the inner _objectData map.
    int get length => _objectData.length;
    
    // Pass through to the inner _objectData map.
    bool get isEmpty => _objectData.isEmpty;
  
    /** 
     * Specific implementations which check isExtendable to determine if an
     *
     * unknown key should be allowed
     * 
     * If [isExtendable] is true, or the key already exists,
     * then allow the edit.
     * Throw [JsonObjectException] if we're not allowed to add a new
     * key
     */
    operator []=(key,value) {
      //if the map isExtendable, or it already contains the key, then
      if (this.isExtendable == true || this.containsKey(key)) {
  