It is not required by the language specification and seems to be vendor-specific.

Are there any benefits or better guarantees about how will annotations work for the user of the annotation/class? Or is it just that some JDK class got reused to help implementing annotations because it was "convenient"?

See also this [IKVM blog post](http://weblog.ikvm.net/PermaLink.aspx?guid=c1c354e6-2c7d-404a-b2fe-244db9f03250).