class AnnotationHelper {
    public static boolean hasAnnotation(Class clazz, String annotationClass) {<FILL_FUNCTION_BODY>}

    public static boolean hasAnnotation(CtClass clazz, String annotationClass) {
        AnnotationsAttribute ainfo = (AnnotationsAttribute) clazz.getClassFile2().
                getAttribute(AnnotationsAttribute.visibleTag);
        if (ainfo != null) {
            for (org.hotswap.agent.javassist.bytecode.annotation.Annotation annot : ainfo.getAnnotations()) {
                if (annot.getTypeName().equals(annotationClass))
                    return true;
            }
        }
        return false;
    }

    public static boolean hasAnnotation(Class<?> clazz, Iterable<String> annotationClasses) {
        for (String pathAnnotation : annotationClasses) {
            if (AnnotationHelper.hasAnnotation(clazz, pathAnnotation)) {
                return true;
            }
        }
        return false;
    }

    public static boolean hasAnnotation(CtClass clazz, Iterable<String> annotationClasses) {
        for (String pathAnnotation : annotationClasses) {
            if (AnnotationHelper.hasAnnotation(clazz, pathAnnotation)) {
                return true;
            }
        }
        return false;
    }

}

        for (Annotation annot : clazz.getDeclaredAnnotations())
            if (annot.annotationType().getName().equals(annotationClass))
                return true;
        return false;
    
<no_super_class>