Annotations serve the purpose of conveying metadata about the
class to its consumers without creating a separate type for it.
Annotations are more powerful than a Marker interface. They allow
programmers to pass more sophisticated information to classes that
"consume" it.