Instead of generating code that relies on the Java clone capability let the programmer create a method in the annotated class that makes the cloning class specific and annotate the method so that the generated methods call that method to get a new instance of the class instead of cloning.
The method annotated using the annotation
should return the base class.