> Make @Clone be part of what @Data does.
How to handle final fields? Since the native clone can't call them,
and you can't really trust into having the right constructor at hand,
this could cause problems. If possible, @Clone should emit an error if
the class is not cloneable, and @Data should not include this
annotation in that case. Then it would be a great feature for mutable
classes.
Concerning transient fields:
- Clone should "clone" them, as the jdk does.
-They should not be included in lomboks equals/hashcode. transient is
for fields which either hold internal state or pre-computed "lazy"
values like hashcodes or toStrings. The first one (state) is not safe
for equals/hashcode while the later is not relevant, as its the result
of the other-fields.