anchor.diff:        }
       }
   
  -    if (isExtension!) {
  +    if (isExtension) {
         _ensureExtensions()
             ._setFieldAndInfo(fi as Extension<dynamic>, fieldValue);
       } else {
  
positive.code:     }
    }
  
    void _mergeField(FieldInfo otherFi, fieldValue, {bool? isExtension}) {
      final tagNumber = otherFi.tagNumber;
  
      // Determine the FieldInfo to use.
      // Don't allow regular fields to be overwritten by extensions.
      final meta = _meta;
      var fi = _nonExtensionInfo(meta, tagNumber);
      if (fi == null && isExtension!) {
        // This will overwrite any existing extension field info.
        fi = otherFi;
      }
  
      var mustClone = _isGroupOrMessage(otherFi.type);
  
      if (fi!.isMapField) {
        if (fieldValue == null) {
          return;
        }
        final MapFieldInfo<dynamic, dynamic> f = fi as dynamic;
        mustClone = _isGroupOrMessage(f.valueFieldType);
        final PbMap<dynamic, dynamic> map =
            f._ensureMapField(meta, this) as dynamic;
        if (mustClone) {
          PbMap fieldValueMap = fieldValue;
          for (final entry in fieldValueMap.entries) {
            map[entry.key] = (entry.value as GeneratedMessage).deepCopy();
  
negative.code:     }
  
      if (otherFi.isGroupOrMessage) {
        final currentFi = isExtension
            ? _ensureExtensions()._getFieldOrNull(fi as Extension<dynamic>)
            : _values[fi.index!];
  
  