anchor.diff:      }
     }
   
  -  ///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
  +  /** 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
  +   */
     putIfAbsent(key,ifAbsent()) {
       if (this.isExtendable == true || this.containsKey(key)) {
         return _objectData.putIfAbsent(key, ifAbsent);
  
positive.code:     else {
        throw new JsonObjectException("JsonObject is not extendable");
      }
  
    }
  
  }
  
  
  class JsonObjectException implements Exception {
    const JsonObjectException([String message]) : this._message = message;
    String toString() => (this._message != null
  
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)) {
  