[BACKLOG-1498] Refactor. Add utility methods in model annotation definition

the generic type of the class is <T extends AnnotationType>

i don't think those checks will be used that often. just added it for convenience. usually, we're working on a list with different generic AnnotationType(s), which is why i added the static classes...