@Retention(value=RUNTIME) @Target(value=TYPE) public @interface Catalog
the "id" field used in the catalog is not exposed here but is always taken as the Class.getName() of the annotated item
if loaded from an annotation. (the "type" field unsurprisingly is given the same value).
name(), if not supplied, is the SimpleName of the class.