anchor.diff:      });
   
       if (classAnnotation.createToJson) {
  +      var mixClassName = '${prefix}SerializerMixin';
  +
         //
         // Generate the mixin class
         //
  -      buffer.writeln('abstract class ${prefix}SerializerMixin {');
  +      buffer.writeln('abstract class $mixClassName {');
   
         // write copies of the fields - this allows the toJson method to access
         // the fields of the target class
  
positive.code: 
      // Sort these in the order in which they appear in the class
      // Sadly, `classElement.fields` puts properties after fields
      fieldsList.sort((FieldElement a, FieldElement b) {
        int offsetFor(FieldElement e) {
          if (e.getter != null && e.getter.nameOffset != e.nameOffset) {
            assert(e.nameOffset == -1);
            return e.getter.nameOffset;
          }
          return e.nameOffset;
        }
  
        return offsetFor(a).compareTo(offsetFor(b));
      });
  
      // Explicitly using `LinkedHashMap` – we want these ordered.
      var fields = new LinkedHashMap<String, FieldElement>.fromIterable(
  
negative.code:       }
  
        // end of the mixin class
        buffer.writeln('}');
      }
  
      return buffer.toString();
  