anchor.diff:                'private final ${javaType(field.type)} ${javaName(field.name)};');
           });
         }
  +
         //
         // constructor
         //
  
positive.code:     writeln('@SuppressWarnings("unused")');
      makeClass('public class ${className}', () {
        //
        // public static final "EMPTY_ARRAY" field
        // i.e. "public static final Parameter[] EMPTY_ARRAY = new Parameter[0];"
        //
  
negative.code:             'public static final ${className}[] EMPTY_ARRAY = new ${className}[0];');
        });
  
        //
        // Extra filds on the Element type such as:
        // private static final int ABSTRACT = 0x01;
        //
        if (className == 'Element') {
          _extraFieldsOnElement.forEach((String name, String value) {
            publicField(javaName(name), () {
              writeln('private static final int ${name} = ${value};');
            });
          });
        }
  
        //
        // "private static String name;" fields:
        //
        TypeObject typeObject = typeDef.type as TypeObject;
        List<TypeObjectField> fields = typeObject.fields;
        // TODO (jwren) we need to possibly remove fields such as "type" in
        // these objects: AddContentOverlay | ChangeContentOverlay | RemoveContentOverlay
        for (TypeObjectField field in fields) {
          privateField(javaName(field.name), () {
            javadocComment(toHtmlVisitor.collectHtml(() {
  