public void addField(Field field, SerializerGen serializer, int added, int removed) {
   check(implInterface || !dataTypeIn.isInterface());
   check(isPublic(field.getModifiers()));
   String fieldName = field.getName();
   check(!fields.containsKey(fieldName), "Duplicate field '%s'", field);
   FieldGen fieldGen = new FieldGen();
   fieldGen.field = field;
   fieldGen.serializer = serializer;
   fieldGen.versionAdded = added;
   fieldGen.versionDeleted = removed;
   fieldGen.offset = lastOffset;
   lastOffset += getType(field.getType()).getSize();
   fields.put(fieldName, fieldGen);
 }