public static Class getAnnotationInterfaceFor(final String annotationName, final ClassLoader loader) { Object value = ANNOTATION_ALIAS_INTERFACE_MAP.get(annotationName); if (value != null) {  final Class interfaceClass = (Class)value; if (!interfaceClass.isInterface()) { throw new CompilerException("annotation class [" + interfaceClass.getName() + "] is not an interface");
public static Class getAnnotationInterfaceFor(final String annotationName, ClassLoader loader) {  if (ANNOTATION_IGNORED.contains(annotationName)) { return null; }   final Class annotationInterfaceClass; Object klass = ANNOTATION_ALIAS_INTERFACE_MAP.get(annotationName); if (klass != null) { annotationInterfaceClass = (Class) klass; }  else { annotationInterfaceClass = loadClassHandlingNestedSyntax(annotationName, loader); if (annotationInterfaceClass == null) {  ANNOTATION_IGNORED.add(annotationName); return null; } else {  registerAnnotationInterface(annotationName, annotationInterfaceClass);
    public static Class getAnnotationInterfaceFor(final String annotationName, final ClassLoader loader) {        Object value = ANNOTATION_ALIAS_INTERFACE_MAP.get(annotationName);        if (value != null) {            // interface found in map            final Class interfaceClass = (Class)value;            if (!interfaceClass.isInterface()) {                throw new CompilerException("annotation class [" + interfaceClass.getName() + "] is not an interface");            }            return interfaceClass;        }        // interface not found in map, resolve class and put it in map        final Class interfaceClass = loadAnnotationInterface(annotationName, loader);        if (interfaceClass != null && !interfaceClass.isInterface()) {            ANNOTATION_ALIAS_INTERFACE_MAP.put(annotationName, interfaceClass);        }        return interfaceClass;    }