Enable the Use righthand type checkbox below to prevent weakening the left side of assignments when the right side is not a type cast or new expression. When storing the result of a method call in a variable, it is useful to retain the type of the method call result instead of unnecessarily weakening it.
Enable the Use parameterized type checkbox below to use the parameterized type of the collection as weakest type when the object evaluated is used as an argument to a collection method with a parameter type of java.lang.Object. Use this option to prevent weakening to Object when passing an object to the collection methods get(), remove(), contains(), indexOf(), lastIndexOf(), containsKey() and containsValue().
Enable the Do not weaken to Object checkbox below to specify whether a type should be weakened to java.lang.Object. Weakening to java.lang.Object is often not very useful.
Enable the Only weaken to an interface checkbox below to only report when the type can be weakened to an interface type.
Enable the Do not weaken return type checkbox below to prevent reporting when return type may be weakened. Only variables will be analyzed.
Stop classes are intended to prevent weakening to classes lower than stop classes, even if it would be possible. In some cases this may improve readability.