This rule is defined by the following XPath expression:
//MethodDeclaration [ MethodDeclarator/@Image = 'clone' and count(MethodDeclarator/FormalParameters/*) = 0 and count(NameList/Name[contains (@Image,'CloneNotSupportedException')]) = 0 ] [ ../../../../ClassOrInterfaceDeclaration[@Final = 'false'] ]
Example:
public class MyClass implements Cloneable{ public Object clone() { // will cause an error MyClass clone = (MyClass)super.clone(); return clone; } }