@Documented
@Retention(value=SOURCE)
@Target(value={CONSTRUCTOR,METHOD,TYPE})
public @interface InheritOnly
InheritOnly indicates that this type
should not be used for implementation directly, typically because the type was
not made to be called as is or has a better alternative. The type should only
be used for inheritance.
This has no effect on the underlying code and is just used as an identifier
within the source.