This annotation is used by the Xtend compiler.
It turns an annotated class into an immutable value object.
All fields become final and a getter method is added.
The fields' name are prepended with an underscore (i.e.
myField becomes
_myField)
One constructor for initializing the uninitialized fields is added.
Object#equals(Object) and
Object#hashCode() implementations are added.
Object#toString() implementation is added.