org_apache_dubbo_spring_boot_autoconfigure_CompatibleDubboAutoConfigurationTest_java
org.springframework.core.annotation.AnnotationUtils
public static <A extends Annotation> A synthesizeAnnotation(Map<String, Object> attributes, Class<A> annotationType, AnnotatedElement annotatedElement) {
        Class[] classArray;
        Assert.notNull(annotationType, "'annotationType' must not be null");
        if (attributes == null) {
            return null;
        }
        MapAnnotationAttributeExtractor attributeExtractor = new MapAnnotationAttributeExtractor(attributes, annotationType, annotatedElement);
        SynthesizedAnnotationInvocationHandler handler = new SynthesizedAnnotationInvocationHandler(attributeExtractor);
        if (AnnotationUtils.canExposeSynthesizedMarker(annotationType)) {
            Class[] classArray2 = new Class[2];
            classArray2[0] = annotationType;
            classArray = classArray2;
            classArray2[1] = SynthesizedAnnotation.class;
        } else {
            Class[] classArray3 = new Class[1];
            classArray = classArray3;
            classArray3[0] = annotationType;
        }
        Class[] exposedInterfaces = classArray;
        return (A)((Annotation)Proxy.newProxyInstance(annotationType.getClassLoader(), exposedInterfaces, (InvocationHandler)handler));
    }
 -> 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.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.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isPrimitive(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> 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.Class.getName(): java.lang.String -> java.lang.Class.getClassLoader(): java.lang.ClassLoader -> java.lang.Class.forName(java.lang.String,boolean,java.lang.ClassLoader): java.lang.Class -> java.lang.Class.getClassLoader(): java.lang.ClassLoader -> java.lang.reflect.Proxy.newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler): java.lang.Object
 [CALL] [CALL] [EXIT] [CALL] [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] [EXIT] [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] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.reflect.Method.getName(): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.getReturnType(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isPrimitive(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [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] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.Class.getClassLoader(): java.lang.ClassLoader -> java.lang.Class.forName(java.lang.String,boolean,java.lang.ClassLoader): java.lang.Class [EXIT] -> java.lang.Class.getClassLoader(): java.lang.ClassLoader -> java.lang.reflect.Proxy.newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler): java.lang.Object [EXIT]