AnnotationElement is in CodeQL effectively a Method (i.e. forall(AnnotationElement e | e instanceof Method) will always hold), however it does not extend Method.
This makes usage confusing because Java interfaces and classes can have (despite it being discouraged) an AnnotationType as supertype. So it is not obvious how CodeQL will handle this unless you look in the source and find out how AnnotationElement is defined.
Slightly related to #3708