Unless an annotation has itself been annotated with a @Retention other than the default of source-only retention, the annotation isn't retained in the classfile and can't be observed using reflection (e.g., by using the isAnnotationPresent method). .