An Annotable Object is one which can hold annotations against it.
An Annotation is a piece of information that can be held against an Annotable Object.
A component is something that can be conceptualised and where the values of the component can also be taken from a Codelist, an example is a Dimension
A Hierarchical object is one which can contain a single hierarchy of objects, the type of which is defined by generics.
An Identifiable Object is one which can be identified uniquely with a URN.
|ItemSuperBean<T extends MaintainableMutableSuperBean>||
An Item is an object which lives inside of an Item Scheme
A Maintainable Object is one that is maintainable by a maintenance agency