@Documented
@Retention(value=CLASS)
@Target(value=TYPE)
public @interface DoNotSubclass
Classes annotated with this annotation are NOT intended or designed to be extended and should be treated as final.
The reason to make them non-final is to enable testing using mock objects.