Encapsulates the data you need to create an annotation. In
particular, it stores the type of an Annotation instance
and the values of its elements.
The "elements" we're talking about are the annotation attributes,
not its targets (the term "element" is used ambiguously
in Java's annotations documentation).