I am in the process of migrating to java from c++ and consider myself a java noob. I have been looking recently at a vast code base with several examples of the kind `public class Myclass implements Cloneable{...}` with no implementation of the `clone` function. I fail to understand the advantages of this pattern. Are there any? If you choose not to implement the `clone` function, why derive it from `Cloneable`? Also are there any lombok anotations which provide some default `clone` functions?