Developer notes - Yarovoy/dolly GitHub Wiki

  1. [Cloneable] is class-level metadata tag. It means that all public writable fields of class marked with this tag will be copied to a clone object.
  2. [Cloneable] is up-oriented inheritable tag. If class A is not cloneable and class B is cloneable and extends class A then public writable properties of class A will be copied too while clonning an instance of class B.
  3. [Copyable] is both a class-level and property-level metadata tag.
  4. [Copyable] is not inheritable tag.