org_apache_struts2_StrutsSpringJUnit4TestCaseTest_java
org.springframework.core.annotation.AnnotatedElementUtils
private static <T> T searchOnInterfaces(Method method, Class<? extends Annotation> annotationType, String annotationName, Class<? extends Annotation> containerType, Processor<T> processor, Set<AnnotatedElement> visited, int metaDepth, Class<?>[] ifcs) {
        for (Class<?> iface : ifcs) {
            if (!AnnotationUtils.isInterfaceWithAnnotatedMethods(iface)) continue;
            try {
                Method equivalentMethod = iface.getMethod(method.getName(), method.getParameterTypes());
                T result = AnnotatedElementUtils.searchWithFindSemantics(equivalentMethod, annotationType, annotationName, containerType, processor, visited, metaDepth);
                if (result == null) continue;
                return result;
            }
            catch (NoSuchMethodException noSuchMethodException) {
                // empty catch block
            }
        }
        return null;
    }
 -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Object.hashCode(): int -> java.lang.ref.ReferenceQueue.poll(): java.lang.ref.Reference -> java.lang.ref.SoftReference.get(): java.lang.Object -> java.lang.ref.SoftReference.get(): java.lang.Object -> java.lang.Boolean.booleanValue(): boolean -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.lang.Class.getMethod(java.lang.String,java.lang.Class[]): java.lang.reflect.Method -> java.util.Set.add(java.lang.Object): boolean -> java.lang.reflect.AnnotatedElement.getDeclaredAnnotations(): java.lang.annotation.Annotation[] -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.Class.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.annotation.Annotation.annotationType(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.reflect.Method.isBridge(): boolean -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getInterfaces(): java.lang.Class[] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getSuperclass(): java.lang.Class
 [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.ref.ReferenceQueue.poll(): java.lang.ref.Reference [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.ref.SoftReference.get(): java.lang.Object [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.ref.SoftReference.get(): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.Boolean.booleanValue(): boolean [EXIT] -> java.lang.reflect.Method.getName(): java.lang.String -> java.lang.reflect.Method.getParameterTypes(): java.lang.Class[] -> java.lang.Class.getMethod(java.lang.String,java.lang.Class[]): java.lang.reflect.Method [CALL] [CALL] [EXIT] -> java.util.Set.add(java.lang.Object): boolean -> java.lang.reflect.AnnotatedElement.getDeclaredAnnotations(): java.lang.annotation.Annotation[] [CALL] [EXIT] -> java.lang.annotation.Annotation.annotationType(): java.lang.Class [CALL] -> java.lang.Class.getName(): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] [EXIT] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.annotation.Annotation.annotationType(): java.lang.Class [CALL] -> java.lang.Class.getName(): java.lang.String [CALL] -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.isBridge(): boolean [EXIT] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getInterfaces(): java.lang.Class[] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.lang.Class.getSuperclass(): java.lang.Class [EXIT] [EXIT]