anchor.diff:      });
     }
   
  -  /**
  -   * Returns the value of the given extension.  For repeated fields that have
  -   * not been set previously, [:null:] is returned.
  -   */
  +  /// Returns the value of [extension].
  +  ///
  +  /// For repeated fields that have not been set previously, [:null:] is
  +  /// returned.
     getExtension(Extension extension) {
       _checkExtension(extension);
       _addExtensionToMap(extension);
       return getField(extension.tagNumber);
     }
   
  +  /// Returns the value of the field associated with [tagNumber], or the
  +  /// default value if it is not set.
     getField(int tagNumber) {
       var value = _fieldValues[tagNumber];
       // Initialize the field.
  
positive.code:   }
  
  
    /**
     * Merges field values from a JSON object, encoded as described by
     * [GeneratedMessage.writeToJson].
     */
    void mergeFromJson(
        String data,
        [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) {
      _mergeFromJson(JSON.decode(data), extensionRegistry);
    }
  
    /**
     * Merges field values from a JSON object represented as a Dart map.
     * 
     * The encoding is described in [GeneratedMessage.writeToJson].
     */
    void mergeFromJsonMap(
        Map<String, dynamic> json,
        [ExtensionRegistry extensionRegistry = ExtensionRegistry.EMPTY]) {
      _mergeFromJson(json, extensionRegistry);
    }
  
    /**
     * Add an extension field value to a repeated field.  The backing
     * [List] will be created if necessary.
     */
    void addExtension(Extension extension, var value) {
      _checkExtension(extension);
      if ((extension.type & _REPEATED_BIT) == 0) {
  
negative.code: 
    bool hasRequiredFields() => info_.hasRequiredFields;
  
    /// Returns [:true:] if all required fields in the message and all embedded
    /// messages are set, false otherwise.
    bool isInitialized() {
      if (!info_.hasRequiredFields) {
        return true;
  