This AnnotatedType implementation needs to also override the following method:

getAnnotation(Class<T> annotationType);

Otherwise there is a mismatch between what isAnnotationPresent() and getAnnotation() returns.