private void initializeAnnotationMeta(Class annotationClass) { Object[] annotations = (Object[]) invoke(annotationClass.getClass(), "getAnnotations", EMPTY_ARG_TYPES, annotationClass, EMPTY_ARGS); if (annotations == null) { addError("Cannot retrieve annotation meta information. " + ExtendedVerifier.JVM_ERROR_MESSAGE); return; } for(int i = 0; i < annotations.length; i++) { Class annotationType = (Class) invoke(this.annotationRootClass, "annotationType", EMPTY_ARG_TYPES, annotations[i], EMPTY_ARGS); if (annotationType == null) continue; if ("java.lang.annotation.Retention".equals(annotationType.getName())) { initializeRetention(annotationClass, annotationType, annotations[i]); } else if("java.lang.annotation.Target".equals(annotationType.getName())) { initializeTarget(annotationClass, annotationType, annotations[i]); } } }