anchor.diff:      _buffer.writeln('};');
     }
   
  -  String _serializeField(FieldElement field, {String accessOverride}) {
  -    accessOverride ??= field.name;
  -
  +  String _serializeField(FieldElement field, String accessExpression) {
       try {
  -      return _getHelperContext(field).serialize(field.type, accessOverride);
  +      return _getHelperContext(field).serialize(field.type, accessExpression);
       } on UnsupportedTypeError catch (e) {
         throw _createInvalidGenerationError('toJson', field, e);
       }
  
positive.code:     _buffer.writeln('=> <String, dynamic>{');
  
      _buffer.writeAll(fields.map((field) {
        var value = '${_safeNameAccess(field)}: ${_serializeField(field)}';
        return '        $value';
      }), ',\n');
  
  
negative.code:       var valueAccess = '_v.${field.name}';
        _buffer.writeln('''
          case ${_safeNameAccess(field)}:
            return ${_serializeField(field, valueAccess)};''');
      }
  
      _buffer.writeln('''
  