The purpose of JSR 308 is to allow to
define annotation on types.
Currently, the JLS 3 only allows to annotate
language elements than accept modifiers so
it's not possible to annotate types.
Why allowing this is a good idea ?
There is real interest to allow annotation on Java types,
it enables to write safer code by performing
static source code analysis. Imagine...