anchor.diff:  before setting it to the pet. Then send it to the backend for persisting. The pet would still
   referered as the original type.
   
  -NOTE: This behavior is always important to remember. It stands for codes but also for views. Actually it's
  -the main behavior of views. Views are normally are parts of normal entities (selected non-list fields). Codes are like 
  -'views on themself' (this is also the reason why the Code interface overrides the generic of the
  -View interface).
  +NOTE: This behavior is always important to remember. It stands for codes but also for references to other entities.
   
   Codes have another speciality. Their initial values can be specified. This can happen in two ways.
   The first one is to have a csv - file with the same name in the same package as the Code class
  
positive.code: ----
      public final List<TreatablePet> treatablePet = new ArrayList<>();
  ----
  Such a list is only allowed because TreatablePet doesn't contain an id field. Entities cannot contain
  other entities directly. This is to avoid slow loading operations and logical problems when
  updating entities.
  
  Now for the PetType entity. This is an example for a Code:
  [source,java,title="PetType.java"]
  
negative.code: 	}
  }
  ----
  An entity is declared to be a Code by implementing the Code interface. The Code interface is a
  marker interface. It declares no
  methods or constants at all. So why bother? Because of how codes are treated by the persistence
  layer.
  
  