If there are setters for the type and subtype, why not go ahead and have a default implementation of the getType and getSubType?