Scanner
object performs the reflective inspection of a class and builds a map of attributes and elements for each annotated field. This acts as a cachable container for reflection actions performed on a specific type. When scanning the provided class this inserts the scanned field as a Label
in to a map so that it can be retrieved by name. Annotations classified as attributes have the Attribute
annotation, all other annotated fields are stored as elements.