Reports clone() methods that have a return type different than the class they are contained in.
Often a clone() method will have a return type of java.lang.Object, which makes it harder to use by its clients.
Effective Java, Second Edition recommends for the return type of the clone() method to be
the class type of the object it returns.