public abstract class org.springframework.core.annotation.AnnotationUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.core.annotation.AnnotationUtils
  super_class: java.lang.Object
{
  public static final java.lang.String VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "value"

  private static final java.util.Map<org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey, java.lang.annotation.Annotation> findAnnotationCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/springframework/core/annotation/AnnotationUtils$AnnotationCacheKey;Ljava/lang/annotation/Annotation;>;

  private static final java.util.Map<org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey, java.lang.Boolean> metaPresentCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/springframework/core/annotation/AnnotationUtils$AnnotationCacheKey;Ljava/lang/Boolean;>;

  private static final java.util.Map<java.lang.reflect.AnnotatedElement, java.lang.annotation.Annotation[]> declaredAnnotationsCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/reflect/AnnotatedElement;[Ljava/lang/annotation/Annotation;>;

  private static final java.util.Map<java.lang.Class<?>, java.util.Set<java.lang.reflect.Method>> annotatedBaseTypeCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/util/Set<Ljava/lang/reflect/Method;>;>;

  private static final java.util.Map<java.lang.Class<?>, ?> annotatedInterfaceCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;*>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Boolean> synthesizableCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Boolean;>;

  private static final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.Map<java.lang.String, java.util.List<java.lang.String>>> attributeAliasesCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;>;

  private static final java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>, java.util.List<java.lang.reflect.Method>> attributeMethodsCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/util/List<Ljava/lang/reflect/Method;>;>;

  private static final java.util.Map<java.lang.reflect.Method, org.springframework.core.annotation.AnnotationUtils$AliasDescriptor> aliasDescriptorCache;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/reflect/Method;Lorg/springframework/core/annotation/AnnotationUtils$AliasDescriptor;>;

  private static transient org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_TRANSIENT
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 123
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
         1: .line 122
            putstatic org.springframework.core.annotation.AnnotationUtils.findAnnotationCache:Ljava/util/Map;
         2: .line 126
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
         3: .line 125
            putstatic org.springframework.core.annotation.AnnotationUtils.metaPresentCache:Ljava/util/Map;
         4: .line 129
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
         5: .line 128
            putstatic org.springframework.core.annotation.AnnotationUtils.declaredAnnotationsCache:Ljava/util/Map;
         6: .line 132
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
         7: .line 131
            putstatic org.springframework.core.annotation.AnnotationUtils.annotatedBaseTypeCache:Ljava/util/Map;
         8: .line 136
            getstatic org.springframework.core.annotation.AnnotationUtils.annotatedBaseTypeCache:Ljava/util/Map;
            putstatic org.springframework.core.annotation.AnnotationUtils.annotatedInterfaceCache:Ljava/util/Map;
         9: .line 139
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
        10: .line 138
            putstatic org.springframework.core.annotation.AnnotationUtils.synthesizableCache:Ljava/util/Map;
        11: .line 142
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
        12: .line 141
            putstatic org.springframework.core.annotation.AnnotationUtils.attributeAliasesCache:Ljava/util/Map;
        13: .line 145
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
        14: .line 144
            putstatic org.springframework.core.annotation.AnnotationUtils.attributeMethodsCache:Ljava/util/Map;
        15: .line 148
            new org.springframework.util.ConcurrentReferenceHashMap
            dup
            sipush 256
            invokespecial org.springframework.util.ConcurrentReferenceHashMap.<init>:(I)V
        16: .line 147
            putstatic org.springframework.core.annotation.AnnotationUtils.aliasDescriptorCache:Ljava/util/Map;
        17: .line 151
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.AnnotationUtils this
         0: .line 115
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.core.annotation.AnnotationUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/annotation/AnnotationUtils;

  public static <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.annotation.Annotation, java.lang.Class<A>);
    descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.annotation.Annotation annotation
        start local 1 // java.lang.Class annotationType
         0: .line 169
            aload 1 /* annotationType */
            aload 0 /* annotation */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 170
            aload 0 /* annotation */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
            areturn
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            astore 2 /* annotatedElement */
        start local 2 // java.lang.Class annotatedElement
         3: .line 174
            aload 2 /* annotatedElement */
            aload 1 /* annotationType */
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* metaAnn */
        start local 3 // java.lang.annotation.Annotation metaAnn
         4: .line 175
            aload 3 /* metaAnn */
            ifnull 5
            aload 3 /* metaAnn */
            aload 2 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            goto 6
      StackMap locals: java.lang.Class java.lang.annotation.Annotation
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: java.lang.annotation.Annotation
         6: areturn
        end local 3 // java.lang.annotation.Annotation metaAnn
         7: .line 177
      StackMap locals: java.lang.annotation.Annotation java.lang.Class java.lang.Class
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
         8: .line 178
            aload 2 /* annotatedElement */
            aload 3 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
         9: .line 179
            aconst_null
            areturn
        end local 3 // java.lang.Throwable ex
        end local 2 // java.lang.Class annotatedElement
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0        annotation  Ljava/lang/annotation/Annotation;
            0   10     1    annotationType  Ljava/lang/Class<TA;>;
            3   10     2  annotatedElement  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            4    7     3           metaAnn  TA;
            8   10     3                ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     6       7  Class java.lang.Throwable
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/annotation/Annotation;Ljava/lang/Class<TA;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotation      
      annotationType  

  public static <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<A>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.Class annotationType
         0: .line 198
            aload 0 /* annotatedElement */
            aload 1 /* annotationType */
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 2 /* annotation */
        start local 2 // java.lang.annotation.Annotation annotation
         1: .line 199
            aload 2 /* annotation */
            ifnonnull 9
         2: .line 200
            aload 0 /* annotatedElement */
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class java.lang.annotation.Annotation top int int java.lang.annotation.Annotation[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* metaAnn */
        start local 3 // java.lang.annotation.Annotation metaAnn
         4: .line 201
            aload 3 /* metaAnn */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            aload 1 /* annotationType */
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 2 /* annotation */
         5: .line 202
            aload 2 /* annotation */
            ifnull 7
         6: .line 203
            goto 9
        end local 3 // java.lang.annotation.Annotation metaAnn
         7: .line 200
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 3
         9: .line 207
      StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class java.lang.annotation.Annotation
      StackMap stack:
            aload 2 /* annotation */
            ifnull 10
            aload 2 /* annotation */
            aload 0 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            goto 11
      StackMap locals:
      StackMap stack:
        10: aconst_null
      StackMap locals:
      StackMap stack: java.lang.annotation.Annotation
        11: areturn
        end local 2 // java.lang.annotation.Annotation annotation
        12: .line 209
      StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class
      StackMap stack: java.lang.Throwable
            astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
        13: .line 210
            aload 0 /* annotatedElement */
            aload 2 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
        14: .line 211
            aconst_null
            areturn
        end local 2 // java.lang.Throwable ex
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0   15     1    annotationType  Ljava/lang/Class<TA;>;
            1   12     2        annotation  TA;
            4    7     3           metaAnn  Ljava/lang/annotation/Annotation;
           13   15     2                ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0    11      12  Class java.lang.Throwable
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TA;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotatedElement  
      annotationType    

  public static <A extends java.lang.annotation.Annotation> A getAnnotation(java.lang.reflect.Method, java.lang.Class<A>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.reflect.Method method
        start local 1 // java.lang.Class annotationType
         0: .line 231
            aload 0 /* method */
            invokestatic org.springframework.core.BridgeMethodResolver.findBridgedMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            astore 2 /* resolvedMethod */
        start local 2 // java.lang.reflect.Method resolvedMethod
         1: .line 232
            aload 2 /* resolvedMethod */
            aload 1 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            areturn
        end local 2 // java.lang.reflect.Method resolvedMethod
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0          method  Ljava/lang/reflect/Method;
            0    2     1  annotationType  Ljava/lang/Class<TA;>;
            1    2     2  resolvedMethod  Ljava/lang/reflect/Method;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/Method;Ljava/lang/Class<TA;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      method          
      annotationType  

  public static java.lang.annotation.Annotation[] getAnnotations(java.lang.reflect.AnnotatedElement);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;)[Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
         0: .line 249
            aload 0 /* annotatedElement */
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
            aload 0 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotationArray:([Ljava/lang/annotation/Annotation;Ljava/lang/Object;)[Ljava/lang/annotation/Annotation;
         1: areturn
         2: .line 251
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ex */
        start local 1 // java.lang.Throwable ex
         3: .line 252
            aload 0 /* annotatedElement */
            aload 1 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
         4: .line 253
            aconst_null
            areturn
        end local 1 // java.lang.Throwable ex
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            3    5     1                ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotatedElement  

  public static java.lang.annotation.Annotation[] getAnnotations(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)[Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 272
            aload 0 /* method */
            invokestatic org.springframework.core.BridgeMethodResolver.findBridgedMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getAnnotations:()[Ljava/lang/annotation/Annotation;
            aload 0 /* method */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotationArray:([Ljava/lang/annotation/Annotation;Ljava/lang/Object;)[Ljava/lang/annotation/Annotation;
         1: areturn
         2: .line 274
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ex */
        start local 1 // java.lang.Throwable ex
         3: .line 275
            aload 0 /* method */
            aload 1 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
         4: .line 276
            aconst_null
            areturn
        end local 1 // java.lang.Throwable ex
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  method  Ljava/lang/reflect/Method;
            3    5     1      ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      method  

  public static <A extends java.lang.annotation.Annotation> java.util.Set<A> getRepeatableAnnotations(java.lang.reflect.AnnotatedElement, java.lang.Class<A>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.Class annotationType
         0: .line 310
            aload 0 /* annotatedElement */
            aload 1 /* annotationType */
            aconst_null
            invokestatic org.springframework.core.annotation.AnnotationUtils.getRepeatableAnnotations:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0    1     1    annotationType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TA;>;)Ljava/util/Set<TA;>;
    MethodParameters:
                  Name  Flags
      annotatedElement  
      annotationType    

  public static <A extends java.lang.annotation.Annotation> java.util.Set<A> getRepeatableAnnotations(java.lang.reflect.AnnotatedElement, java.lang.Class<A>, java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.Class annotationType
        start local 2 // java.lang.Class containerAnnotationType
         0: .line 346
            aload 0 /* annotatedElement */
            aload 1 /* annotationType */
            aload 2 /* containerAnnotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDeclaredRepeatableAnnotations:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
            astore 3 /* annotations */
        start local 3 // java.util.Set annotations
         1: .line 347
            aload 3 /* annotations */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
            aload 0 /* annotatedElement */
            instanceof java.lang.Class
            ifeq 5
         2: .line 348
            aload 0 /* annotatedElement */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 4 /* superclass */
        start local 4 // java.lang.Class superclass
         3: .line 349
            aload 4 /* superclass */
            ifnull 5
            aload 4 /* superclass */
            ldc Ljava/lang/Object;
            if_acmpeq 5
         4: .line 350
            aload 4 /* superclass */
            aload 1 /* annotationType */
            aload 2 /* containerAnnotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getRepeatableAnnotations:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 4 // java.lang.Class superclass
         5: .line 353
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* annotations */
            areturn
        end local 3 // java.util.Set annotations
        end local 2 // java.lang.Class containerAnnotationType
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    6     0         annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0    6     1           annotationType  Ljava/lang/Class<TA;>;
            0    6     2  containerAnnotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1    6     3              annotations  Ljava/util/Set<TA;>;
            3    5     4               superclass  Ljava/lang/Class<*>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TA;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/Set<TA;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
                         Name  Flags
      annotatedElement         
      annotationType           
      containerAnnotationType  

  public static <A extends java.lang.annotation.Annotation> java.util.Set<A> getDeclaredRepeatableAnnotations(java.lang.reflect.AnnotatedElement, java.lang.Class<A>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.Class annotationType
         0: .line 387
            aload 0 /* annotatedElement */
            aload 1 /* annotationType */
            aconst_null
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDeclaredRepeatableAnnotations:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
            areturn
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0    1     1    annotationType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TA;>;)Ljava/util/Set<TA;>;
    MethodParameters:
                  Name  Flags
      annotatedElement  
      annotationType    

  public static <A extends java.lang.annotation.Annotation> java.util.Set<A> getDeclaredRepeatableAnnotations(java.lang.reflect.AnnotatedElement, java.lang.Class<A>, java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.Class annotationType
        start local 2 // java.lang.Class containerAnnotationType
         0: .line 424
            aload 0 /* annotatedElement */
            instanceof java.lang.reflect.Method
            ifeq 2
         1: .line 425
            aload 0 /* annotatedElement */
            checkcast java.lang.reflect.Method
            invokestatic org.springframework.core.BridgeMethodResolver.findBridgedMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            astore 0 /* annotatedElement */
         2: .line 427
      StackMap locals:
      StackMap stack:
            new org.springframework.core.annotation.AnnotationUtils$AnnotationCollector
            dup
            aload 1 /* annotationType */
            aload 2 /* containerAnnotationType */
            invokespecial org.springframework.core.annotation.AnnotationUtils$AnnotationCollector.<init>:(Ljava/lang/Class;Ljava/lang/Class;)V
            aload 0 /* annotatedElement */
            invokevirtual org.springframework.core.annotation.AnnotationUtils$AnnotationCollector.getResult:(Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Set;
         3: areturn
         4: .line 429
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
         5: .line 430
            aload 0 /* annotatedElement */
            aload 3 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
         6: .line 431
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
        end local 3 // java.lang.Throwable ex
        end local 2 // java.lang.Class containerAnnotationType
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0         annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0    7     1           annotationType  Ljava/lang/Class<TA;>;
            0    7     2  containerAnnotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            5    7     3                       ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TA;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/Set<TA;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
                         Name  Flags
      annotatedElement         
      annotationType           
      containerAnnotationType  

  public static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<A>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.Class annotationType
         0: .line 455
            aload 0 /* annotatedElement */
            aload 1 /* annotationType */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
            astore 2 /* ann */
        start local 2 // java.lang.annotation.Annotation ann
         1: .line 456
            aload 2 /* ann */
            ifnull 2
            aload 2 /* ann */
            aload 0 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            goto 3
      StackMap locals: java.lang.annotation.Annotation
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.annotation.Annotation
         3: areturn
        end local 2 // java.lang.annotation.Annotation ann
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0    4     1    annotationType  Ljava/lang/Class<TA;>;
            1    4     2               ann  TA;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TA;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotatedElement  
      annotationType    

  private static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.reflect.AnnotatedElement, java.lang.Class<A>, java.util.Set<java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.Class annotationType
        start local 2 // java.util.Set visited
         0: .line 473
            aload 0 /* annotatedElement */
            aload 1 /* annotationType */
            invokeinterface java.lang.reflect.AnnotatedElement.getDeclaredAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* annotation */
        start local 3 // java.lang.annotation.Annotation annotation
         1: .line 474
            aload 3 /* annotation */
            ifnull 4
         2: .line 475
            aload 3 /* annotation */
         3: areturn
         4: .line 477
      StackMap locals: java.lang.annotation.Annotation
      StackMap stack:
            aload 0 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDeclaredAnnotations:(Ljava/lang/reflect/AnnotatedElement;)[Ljava/lang/annotation/Annotation;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 13
      StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class java.util.Set java.lang.annotation.Annotation top int int java.lang.annotation.Annotation[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* declaredAnn */
        start local 4 // java.lang.annotation.Annotation declaredAnn
         6: .line 478
            aload 4 /* declaredAnn */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            astore 8 /* declaredType */
        start local 8 // java.lang.Class declaredType
         7: .line 479
            aload 8 /* declaredType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage:(Ljava/lang/Class;)Z
            ifne 12
            aload 2 /* visited */
            aload 4 /* declaredAnn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 12
         8: .line 480
            aload 8 /* declaredType */
            aload 1 /* annotationType */
            aload 2 /* visited */
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
            astore 3 /* annotation */
         9: .line 481
            aload 3 /* annotation */
            ifnull 12
        10: .line 482
            aload 3 /* annotation */
        11: areturn
        end local 8 // java.lang.Class declaredType
        end local 4 // java.lang.annotation.Annotation declaredAnn
        12: .line 477
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        13: iload 5
            iload 6
            if_icmplt 5
        end local 3 // java.lang.annotation.Annotation annotation
        14: .line 486
            goto 17
        15: .line 487
      StackMap locals: java.lang.reflect.AnnotatedElement java.lang.Class java.util.Set
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        16: .line 488
            aload 0 /* annotatedElement */
            aload 3 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Throwable ex
        17: .line 490
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Set visited
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0   18     1    annotationType  Ljava/lang/Class<TA;>;
            0   18     2           visited  Ljava/util/Set<Ljava/lang/annotation/Annotation;>;
            1   14     3        annotation  TA;
            6   12     4       declaredAnn  Ljava/lang/annotation/Annotation;
            7   12     8      declaredType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
           16   17     3                ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3      15  Class java.lang.Throwable
           4    11      15  Class java.lang.Throwable
          12    14      15  Class java.lang.Throwable
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class<TA;>;Ljava/util/Set<Ljava/lang/annotation/Annotation;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotatedElement  
      annotationType    
      visited           

  public static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.reflect.Method, java.lang.Class<A>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // java.lang.reflect.Method method
        start local 1 // java.lang.Class annotationType
         0: .line 511
            aload 0 /* method */
            ldc "Method must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 512
            aload 1 /* annotationType */
            ifnonnull 3
         2: .line 513
            aconst_null
            areturn
         3: .line 516
      StackMap locals:
      StackMap stack:
            new org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey
            dup
            aload 0 /* method */
            aload 1 /* annotationType */
            invokespecial org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey.<init>:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)V
            astore 2 /* cacheKey */
        start local 2 // org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey cacheKey
         4: .line 517
            getstatic org.springframework.core.annotation.AnnotationUtils.findAnnotationCache:Ljava/util/Map;
            aload 2 /* cacheKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            astore 3 /* result */
        start local 3 // java.lang.annotation.Annotation result
         5: .line 519
            aload 3 /* result */
            ifnonnull 31
         6: .line 520
            aload 0 /* method */
            invokestatic org.springframework.core.BridgeMethodResolver.findBridgedMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            astore 4 /* resolvedMethod */
        start local 4 // java.lang.reflect.Method resolvedMethod
         7: .line 521
            aload 4 /* resolvedMethod */
            aload 1 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* result */
         8: .line 522
            aload 3 /* result */
            ifnonnull 10
         9: .line 523
            aload 0 /* method */
            aload 1 /* annotationType */
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.AnnotationUtils.searchOnInterfaces:(Ljava/lang/reflect/Method;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* result */
        10: .line 526
      StackMap locals: org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey java.lang.annotation.Annotation java.lang.reflect.Method
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            astore 5 /* clazz */
        start local 5 // java.lang.Class clazz
        11: .line 527
            goto 27
        12: .line 528
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 5 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 5 /* clazz */
        13: .line 529
            aload 5 /* clazz */
            ifnull 28
            aload 5 /* clazz */
            ldc Ljava/lang/Object;
            if_acmpne 15
        14: .line 530
            goto 28
        15: .line 532
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotatedMethodsInBaseType:(Ljava/lang/Class;)Ljava/util/Set;
            astore 6 /* annotatedMethods */
        start local 6 // java.util.Set annotatedMethods
        16: .line 533
            aload 6 /* annotatedMethods */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 25
        17: .line 534
            aload 6 /* annotatedMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 24
      StackMap locals: java.lang.reflect.Method java.lang.Class org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey java.lang.annotation.Annotation java.lang.reflect.Method java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
        18: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 7 /* annotatedMethod */
        start local 7 // java.lang.reflect.Method annotatedMethod
        19: .line 535
            aload 0 /* method */
            aload 7 /* annotatedMethod */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isOverride:(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
            ifeq 24
        20: .line 536
            aload 7 /* annotatedMethod */
            invokestatic org.springframework.core.BridgeMethodResolver.findBridgedMethod:(Ljava/lang/reflect/Method;)Ljava/lang/reflect/Method;
            astore 9 /* resolvedSuperMethod */
        start local 9 // java.lang.reflect.Method resolvedSuperMethod
        21: .line 537
            aload 9 /* resolvedSuperMethod */
            aload 1 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* result */
        22: .line 538
            aload 3 /* result */
            ifnull 24
        23: .line 539
            goto 25
        end local 9 // java.lang.reflect.Method resolvedSuperMethod
        end local 7 // java.lang.reflect.Method annotatedMethod
        24: .line 534
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        25: .line 544
      StackMap locals: java.lang.reflect.Method java.lang.Class org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey java.lang.annotation.Annotation java.lang.reflect.Method java.lang.Class java.util.Set
      StackMap stack:
            aload 3 /* result */
            ifnonnull 27
        26: .line 545
            aload 0 /* method */
            aload 1 /* annotationType */
            aload 5 /* clazz */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.AnnotationUtils.searchOnInterfaces:(Ljava/lang/reflect/Method;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* result */
        end local 6 // java.util.Set annotatedMethods
        27: .line 527
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            ifnull 12
        28: .line 549
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            ifnull 31
        29: .line 550
            aload 3 /* result */
            aload 0 /* method */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            astore 3 /* result */
        30: .line 551
            getstatic org.springframework.core.annotation.AnnotationUtils.findAnnotationCache:Ljava/util/Map;
            aload 2 /* cacheKey */
            aload 3 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Class clazz
        end local 4 // java.lang.reflect.Method resolvedMethod
        31: .line 555
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // java.lang.annotation.Annotation result
        end local 2 // org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey cacheKey
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   32     0               method  Ljava/lang/reflect/Method;
            0   32     1       annotationType  Ljava/lang/Class<TA;>;
            4   32     2             cacheKey  Lorg/springframework/core/annotation/AnnotationUtils$AnnotationCacheKey;
            5   32     3               result  TA;
            7   31     4       resolvedMethod  Ljava/lang/reflect/Method;
           11   31     5                clazz  Ljava/lang/Class<*>;
           16   27     6     annotatedMethods  Ljava/util/Set<Ljava/lang/reflect/Method;>;
           19   24     7      annotatedMethod  Ljava/lang/reflect/Method;
           21   24     9  resolvedSuperMethod  Ljava/lang/reflect/Method;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/Method;Ljava/lang/Class<TA;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      method          
      annotationType  

  private static <A extends java.lang.annotation.Annotation> A searchOnInterfaces(java.lang.reflect.Method, java.lang.Class<A>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=11, args_size=3
        start local 0 // java.lang.reflect.Method method
        start local 1 // java.lang.Class annotationType
        start local 2 // java.lang.Class[] ifcs
         0: .line 560
            aload 2 /* ifcs */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: java.lang.reflect.Method java.lang.Class java.lang.Class[] top int int java.lang.Class[]
      StackMap stack:
         1: aload 6
            iload 4
            aaload
            astore 3 /* ifc */
        start local 3 // java.lang.Class ifc
         2: .line 561
            aload 3 /* ifc */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotatedMethodsInBaseType:(Ljava/lang/Class;)Ljava/util/Set;
            astore 7 /* annotatedMethods */
        start local 7 // java.util.Set annotatedMethods
         3: .line 562
            aload 7 /* annotatedMethods */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 11
         4: .line 563
            aload 7 /* annotatedMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 10
      StackMap locals: java.lang.reflect.Method java.lang.Class java.lang.Class[] java.lang.Class int int java.lang.Class[] java.util.Set top java.util.Iterator
      StackMap stack:
         5: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 8 /* annotatedMethod */
        start local 8 // java.lang.reflect.Method annotatedMethod
         6: .line 564
            aload 0 /* method */
            aload 8 /* annotatedMethod */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isOverride:(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
            ifeq 10
         7: .line 565
            aload 8 /* annotatedMethod */
            aload 1 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotation:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 10 /* annotation */
        start local 10 // java.lang.annotation.Annotation annotation
         8: .line 566
            aload 10 /* annotation */
            ifnull 10
         9: .line 567
            aload 10 /* annotation */
            areturn
        end local 10 // java.lang.annotation.Annotation annotation
        end local 8 // java.lang.reflect.Method annotatedMethod
        10: .line 563
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 7 // java.util.Set annotatedMethods
        end local 3 // java.lang.Class ifc
        11: .line 560
      StackMap locals: java.lang.reflect.Method java.lang.Class java.lang.Class[] top int int java.lang.Class[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 1
        13: .line 573
            aconst_null
            areturn
        end local 2 // java.lang.Class[] ifcs
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0            method  Ljava/lang/reflect/Method;
            0   14     1    annotationType  Ljava/lang/Class<TA;>;
            0   14     2              ifcs  [Ljava/lang/Class;
            2   11     3               ifc  Ljava/lang/Class<*>;
            3   11     7  annotatedMethods  Ljava/util/Set<Ljava/lang/reflect/Method;>;
            6   10     8   annotatedMethod  Ljava/lang/reflect/Method;
            8   10    10        annotation  TA;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/reflect/Method;Ljava/lang/Class<TA;>;[Ljava/lang/Class<*>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      method          
      annotationType  
      ifcs            

  static boolean isOverride(java.lang.reflect.Method, java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.reflect.Method method
        start local 1 // java.lang.reflect.Method candidate
         0: .line 583
            aload 1 /* candidate */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 584
            aload 1 /* candidate */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            if_icmpeq 3
         2: .line 585
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 2 /* paramTypes */
        start local 2 // java.lang.Class[] paramTypes
         4: .line 588
            aload 1 /* candidate */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            aload 2 /* paramTypes */
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 6
         5: .line 589
            iconst_1
            ireturn
         6: .line 591
      StackMap locals: java.lang.Class[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 11
         8: .line 592
      StackMap locals: int
      StackMap stack:
            aload 2 /* paramTypes */
            iload 3 /* i */
            aaload
            aload 1 /* candidate */
            iload 3 /* i */
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokestatic org.springframework.core.ResolvableType.forMethodParameter:(Ljava/lang/reflect/Method;ILjava/lang/Class;)Lorg/springframework/core/ResolvableType;
            invokevirtual org.springframework.core.ResolvableType.resolve:()Ljava/lang/Class;
            if_acmpeq 10
         9: .line 593
            iconst_0
            ireturn
        10: .line 591
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 2 /* paramTypes */
            arraylength
            if_icmplt 8
        end local 3 // int i
        12: .line 596
            iconst_1
            ireturn
        end local 2 // java.lang.Class[] paramTypes
        end local 1 // java.lang.reflect.Method candidate
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0      method  Ljava/lang/reflect/Method;
            0   13     1   candidate  Ljava/lang/reflect/Method;
            4   13     2  paramTypes  [Ljava/lang/Class;
            7   12     3           i  I
    MethodParameters:
           Name  Flags
      method     
      candidate  

  static java.util.Set<java.lang.reflect.Method> getAnnotatedMethodsInBaseType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // java.lang.Class baseType
         0: .line 606
            aload 0 /* baseType */
            invokevirtual java.lang.Class.isInterface:()Z
            istore 1 /* ifcCheck */
        start local 1 // boolean ifcCheck
         1: .line 607
            iload 1 /* ifcCheck */
            ifeq 3
            aload 0 /* baseType */
            invokestatic org.springframework.util.ClassUtils.isJavaLanguageInterface:(Ljava/lang/Class;)Z
            ifeq 3
         2: .line 608
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         3: .line 611
      StackMap locals: int
      StackMap stack:
            getstatic org.springframework.core.annotation.AnnotationUtils.annotatedBaseTypeCache:Ljava/util/Map;
            aload 0 /* baseType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 2 /* annotatedMethods */
        start local 2 // java.util.Set annotatedMethods
         4: .line 612
            aload 2 /* annotatedMethods */
            ifnull 6
         5: .line 613
            aload 2 /* annotatedMethods */
            areturn
         6: .line 615
      StackMap locals: java.util.Set
      StackMap stack:
            iload 1 /* ifcCheck */
            ifeq 7
            aload 0 /* baseType */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* baseType */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
      StackMap locals:
      StackMap stack: java.lang.reflect.Method[]
         8: astore 3 /* methods */
        start local 3 // java.lang.reflect.Method[] methods
         9: .line 616
            aload 3 /* methods */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 20
      StackMap locals: java.lang.Class int java.util.Set java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
        10: aload 7
            iload 5
            aaload
            astore 4 /* baseMethod */
        start local 4 // java.lang.reflect.Method baseMethod
        11: .line 620
            iload 1 /* ifcCheck */
            ifne 12
            aload 4 /* baseMethod */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPrivate:(I)Z
            ifne 19
        12: .line 621
      StackMap locals: java.lang.Class int java.util.Set java.lang.reflect.Method[] java.lang.reflect.Method int int java.lang.reflect.Method[]
      StackMap stack:
            aload 4 /* baseMethod */
            invokestatic org.springframework.core.annotation.AnnotationUtils.hasSearchableAnnotations:(Ljava/lang/reflect/Method;)Z
            ifeq 19
        13: .line 622
            aload 2 /* annotatedMethods */
            ifnonnull 15
        14: .line 623
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* annotatedMethods */
        15: .line 625
      StackMap locals:
      StackMap stack:
            aload 2 /* annotatedMethods */
            aload 4 /* baseMethod */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 627
            goto 19
        17: .line 628
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        18: .line 629
            aload 4 /* baseMethod */
            aload 8 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
        end local 8 // java.lang.Throwable ex
        end local 4 // java.lang.reflect.Method baseMethod
        19: .line 616
      StackMap locals: java.lang.Class int java.util.Set java.lang.reflect.Method[] top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        20: iload 5
            iload 6
            if_icmplt 10
        21: .line 632
            aload 2 /* annotatedMethods */
            ifnonnull 23
        22: .line 633
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            astore 2 /* annotatedMethods */
        23: .line 635
      StackMap locals: java.lang.Class int java.util.Set java.lang.reflect.Method[]
      StackMap stack:
            getstatic org.springframework.core.annotation.AnnotationUtils.annotatedBaseTypeCache:Ljava/util/Map;
            aload 0 /* baseType */
            aload 2 /* annotatedMethods */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 636
            aload 2 /* annotatedMethods */
            areturn
        end local 3 // java.lang.reflect.Method[] methods
        end local 2 // java.util.Set annotatedMethods
        end local 1 // boolean ifcCheck
        end local 0 // java.lang.Class baseType
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0          baseType  Ljava/lang/Class<*>;
            1   25     1          ifcCheck  Z
            4   25     2  annotatedMethods  Ljava/util/Set<Ljava/lang/reflect/Method;>;
            9   25     3           methods  [Ljava/lang/reflect/Method;
           11   19     4        baseMethod  Ljava/lang/reflect/Method;
           18   19     8                ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    16      17  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<*>;)Ljava/util/Set<Ljava/lang/reflect/Method;>;
    MethodParameters:
          Name  Flags
      baseType  

  private static boolean hasSearchableAnnotations(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // java.lang.reflect.Method ifcMethod
         0: .line 647
            aload 0 /* ifcMethod */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDeclaredAnnotations:(Ljava/lang/reflect/AnnotatedElement;)[Ljava/lang/annotation/Annotation;
            astore 1 /* anns */
        start local 1 // java.lang.annotation.Annotation[] anns
         1: .line 648
            aload 1 /* anns */
            arraylength
            ifne 3
         2: .line 649
            iconst_0
            ireturn
         3: .line 651
      StackMap locals: java.lang.annotation.Annotation[]
      StackMap stack:
            aload 1 /* anns */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: java.lang.reflect.Method java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* ann */
        start local 2 // java.lang.annotation.Annotation ann
         5: .line 652
            aload 2 /* ann */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         6: .line 653
            aload 6 /* name */
            ldc "java.lang."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
            aload 6 /* name */
            ldc "org.springframework.lang."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         7: .line 654
            iconst_1
            ireturn
        end local 6 // java.lang.String name
        end local 2 // java.lang.annotation.Annotation ann
         8: .line 651
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 4
        10: .line 657
            iconst_0
            ireturn
        end local 1 // java.lang.annotation.Annotation[] anns
        end local 0 // java.lang.reflect.Method ifcMethod
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  ifcMethod  Ljava/lang/reflect/Method;
            1   11     1       anns  [Ljava/lang/annotation/Annotation;
            5    8     2        ann  Ljava/lang/annotation/Annotation;
            6    8     6       name  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      ifcMethod  

  static java.lang.annotation.Annotation[] getDeclaredAnnotations(java.lang.reflect.AnnotatedElement);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;)[Ljava/lang/annotation/Annotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.reflect.AnnotatedElement element
         0: .line 669
            aload 0 /* element */
            instanceof java.lang.Class
            ifne 1
            aload 0 /* element */
            instanceof java.lang.reflect.Member
            ifeq 2
         1: .line 672
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.core.annotation.AnnotationUtils.declaredAnnotationsCache:Ljava/util/Map;
            aload 0 /* element */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/lang/reflect/AnnotatedElement.getDeclaredAnnotations()[Ljava/lang/annotation/Annotation; (9 itf)
                  (Ljava/lang/reflect/AnnotatedElement;)[Ljava/lang/annotation/Annotation;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation[]
            areturn
         2: .line 674
      StackMap locals:
      StackMap stack:
            aload 0 /* element */
            invokeinterface java.lang.reflect.AnnotatedElement.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // java.lang.reflect.AnnotatedElement element
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  element  Ljava/lang/reflect/AnnotatedElement;
    MethodParameters:
         Name  Flags
      element  

  public static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.Class<?>, java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.Class annotationType
         0: .line 701
            aload 0 /* clazz */
            aload 1 /* annotationType */
            iconst_1
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0           clazz  Ljava/lang/Class<*>;
            0    1     1  annotationType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<*>;Ljava/lang/Class<TA;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      clazz           
      annotationType  

  private static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.Class<?>, java.lang.Class<A>, );
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/lang/annotation/Annotation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.Class annotationType
        start local 2 // boolean synthesize
         0: .line 719
            aload 0 /* clazz */
            ldc "Class must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 720
            aload 1 /* annotationType */
            ifnonnull 3
         2: .line 721
            aconst_null
            areturn
         3: .line 724
      StackMap locals:
      StackMap stack:
            new org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey
            dup
            aload 0 /* clazz */
            aload 1 /* annotationType */
            invokespecial org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey.<init>:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)V
            astore 3 /* cacheKey */
        start local 3 // org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey cacheKey
         4: .line 725
            getstatic org.springframework.core.annotation.AnnotationUtils.findAnnotationCache:Ljava/util/Map;
            aload 3 /* cacheKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            astore 4 /* result */
        start local 4 // java.lang.annotation.Annotation result
         5: .line 726
            aload 4 /* result */
            ifnonnull 10
         6: .line 727
            aload 0 /* clazz */
            aload 1 /* annotationType */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
            astore 4 /* result */
         7: .line 728
            aload 4 /* result */
            ifnull 10
            iload 2 /* synthesize */
            ifeq 10
         8: .line 729
            aload 4 /* result */
            aload 0 /* clazz */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            astore 4 /* result */
         9: .line 730
            getstatic org.springframework.core.annotation.AnnotationUtils.findAnnotationCache:Ljava/util/Map;
            aload 3 /* cacheKey */
            aload 4 /* result */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 733
      StackMap locals: org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey java.lang.annotation.Annotation
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // java.lang.annotation.Annotation result
        end local 3 // org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey cacheKey
        end local 2 // boolean synthesize
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0           clazz  Ljava/lang/Class<*>;
            0   11     1  annotationType  Ljava/lang/Class<TA;>;
            0   11     2      synthesize  Z
            4   11     3        cacheKey  Lorg/springframework/core/annotation/AnnotationUtils$AnnotationCacheKey;
            5   11     4          result  TA;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<*>;Ljava/lang/Class<TA;>;Z)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
                Name  Flags
      clazz           
      annotationType  
      synthesize      

  private static <A extends java.lang.annotation.Annotation> A findAnnotation(java.lang.Class<?>, java.lang.Class<A>, java.util.Set<java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.Class annotationType
        start local 2 // java.util.Set visited
         0: .line 748
            aload 0 /* clazz */
            aload 1 /* annotationType */
            invokevirtual java.lang.Class.getDeclaredAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            astore 3 /* annotation */
        start local 3 // java.lang.annotation.Annotation annotation
         1: .line 749
            aload 3 /* annotation */
            ifnull 4
         2: .line 750
            aload 3 /* annotation */
         3: areturn
         4: .line 752
      StackMap locals: java.lang.annotation.Annotation
      StackMap stack:
            aload 0 /* clazz */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDeclaredAnnotations:(Ljava/lang/reflect/AnnotatedElement;)[Ljava/lang/annotation/Annotation;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 13
      StackMap locals: java.lang.Class java.lang.Class java.util.Set java.lang.annotation.Annotation top int int java.lang.annotation.Annotation[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* declaredAnn */
        start local 4 // java.lang.annotation.Annotation declaredAnn
         6: .line 753
            aload 4 /* declaredAnn */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            astore 8 /* declaredType */
        start local 8 // java.lang.Class declaredType
         7: .line 754
            aload 8 /* declaredType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage:(Ljava/lang/Class;)Z
            ifne 12
            aload 2 /* visited */
            aload 4 /* declaredAnn */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 12
         8: .line 755
            aload 8 /* declaredType */
            aload 1 /* annotationType */
            aload 2 /* visited */
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
            astore 3 /* annotation */
         9: .line 756
            aload 3 /* annotation */
            ifnull 12
        10: .line 757
            aload 3 /* annotation */
        11: areturn
        end local 8 // java.lang.Class declaredType
        end local 4 // java.lang.annotation.Annotation declaredAnn
        12: .line 752
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        13: iload 5
            iload 6
            if_icmplt 5
        end local 3 // java.lang.annotation.Annotation annotation
        14: .line 761
            goto 18
        15: .line 762
      StackMap locals: java.lang.Class java.lang.Class java.util.Set
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        16: .line 763
            aload 0 /* clazz */
            aload 3 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
        17: .line 764
            aconst_null
            areturn
        end local 3 // java.lang.Throwable ex
        18: .line 767
      StackMap locals:
      StackMap stack:
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 24
      StackMap locals: java.lang.Class java.lang.Class java.util.Set top int int java.lang.Class[]
      StackMap stack:
        19: aload 6
            iload 4
            aaload
            astore 3 /* ifc */
        start local 3 // java.lang.Class ifc
        20: .line 768
            aload 3 /* ifc */
            aload 1 /* annotationType */
            aload 2 /* visited */
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
            astore 7 /* annotation */
        start local 7 // java.lang.annotation.Annotation annotation
        21: .line 769
            aload 7 /* annotation */
            ifnull 23
        22: .line 770
            aload 7 /* annotation */
            areturn
        end local 7 // java.lang.annotation.Annotation annotation
        end local 3 // java.lang.Class ifc
        23: .line 767
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        24: iload 4
            iload 5
            if_icmplt 19
        25: .line 774
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 3 /* superclass */
        start local 3 // java.lang.Class superclass
        26: .line 775
            aload 3 /* superclass */
            ifnull 27
            aload 3 /* superclass */
            ldc Ljava/lang/Object;
            if_acmpne 28
        27: .line 776
      StackMap locals: java.lang.Class java.lang.Class java.util.Set java.lang.Class
      StackMap stack:
            aconst_null
            areturn
        28: .line 778
      StackMap locals:
      StackMap stack:
            aload 3 /* superclass */
            aload 1 /* annotationType */
            aload 2 /* visited */
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/Set;)Ljava/lang/annotation/Annotation;
            areturn
        end local 3 // java.lang.Class superclass
        end local 2 // java.util.Set visited
        end local 1 // java.lang.Class annotationType
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0           clazz  Ljava/lang/Class<*>;
            0   29     1  annotationType  Ljava/lang/Class<TA;>;
            0   29     2         visited  Ljava/util/Set<Ljava/lang/annotation/Annotation;>;
            1   14     3      annotation  TA;
            6   12     4     declaredAnn  Ljava/lang/annotation/Annotation;
            7   12     8    declaredType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
           16   18     3              ex  Ljava/lang/Throwable;
           20   23     3             ifc  Ljava/lang/Class<*>;
           21   23     7      annotation  TA;
           26   29     3      superclass  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           0     3      15  Class java.lang.Throwable
           4    11      15  Class java.lang.Throwable
          12    14      15  Class java.lang.Throwable
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<*>;Ljava/lang/Class<TA;>;Ljava/util/Set<Ljava/lang/annotation/Annotation;>;)TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      clazz           
      annotationType  
      visited         

  public static java.lang.Class<?> findAnnotationDeclaringClass(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class annotationType
        start local 1 // java.lang.Class clazz
         0: .line 805
            aload 1 /* clazz */
            ifnull 1
            aload 1 /* clazz */
            ldc Ljava/lang/Object;
            if_acmpne 2
         1: .line 806
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 808
      StackMap locals:
      StackMap stack:
            aload 0 /* annotationType */
            aload 1 /* clazz */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isAnnotationDeclaredLocally:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 4
         3: .line 809
            aload 1 /* clazz */
            areturn
         4: .line 811
      StackMap locals:
      StackMap stack:
            aload 0 /* annotationType */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotationDeclaringClass:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0    5     1           clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  
      clazz           

  public static java.lang.Class<?> findAnnotationDeclaringClassForTypes(java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>>, java.lang.Class<?>);
    descriptor: (Ljava/util/List;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.util.List annotationTypes
        start local 1 // java.lang.Class clazz
         0: .line 842
            aload 1 /* clazz */
            ifnull 1
            aload 1 /* clazz */
            ldc Ljava/lang/Object;
            if_acmpne 2
         1: .line 843
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* annotationTypes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: java.util.List java.lang.Class top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* annotationType */
        start local 2 // java.lang.Class annotationType
         4: .line 846
            aload 2 /* annotationType */
            aload 1 /* clazz */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isAnnotationDeclaredLocally:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifeq 6
         5: .line 847
            aload 1 /* clazz */
            areturn
        end local 2 // java.lang.Class annotationType
         6: .line 845
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 850
            aload 0 /* annotationTypes */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotationDeclaringClassForTypes:(Ljava/util/List;Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // java.util.List annotationTypes
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0  annotationTypes  Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
            0    8     1            clazz  Ljava/lang/Class<*>;
            4    6     2   annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                 Name  Flags
      annotationTypes  
      clazz            

  public static boolean isAnnotationDeclaredLocally(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Class annotationType
        start local 1 // java.lang.Class clazz
         0: .line 873
            aload 1 /* clazz */
            aload 0 /* annotationType */
            invokevirtual java.lang.Class.getDeclaredAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
         2: ireturn
         3: .line 875
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
         4: .line 876
            aload 1 /* clazz */
            aload 2 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
         5: .line 877
            iconst_0
            ireturn
        end local 2 // java.lang.Throwable ex
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0    6     1           clazz  Ljava/lang/Class<*>;
            4    6     2              ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Class<*>;)Z
    MethodParameters:
                Name  Flags
      annotationType  
      clazz           

  public static boolean isAnnotationInherited(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class annotationType
        start local 1 // java.lang.Class clazz
         0: .line 901
            aload 1 /* clazz */
            aload 0 /* annotationType */
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 1
            aload 0 /* annotationType */
            aload 1 /* clazz */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isAnnotationDeclaredLocally:(Ljava/lang/Class;Ljava/lang/Class;)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0    2     1           clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Class<*>;)Z
    MethodParameters:
                Name  Flags
      annotationType  
      clazz           

  public static boolean isAnnotationMetaPresent(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.Class annotationType
        start local 1 // java.lang.Class metaAnnotationType
         0: .line 915
            aload 0 /* annotationType */
            ldc "Annotation type must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 916
            aload 1 /* metaAnnotationType */
            ifnonnull 3
         2: .line 917
            iconst_0
            ireturn
         3: .line 920
      StackMap locals:
      StackMap stack:
            new org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey
            dup
            aload 0 /* annotationType */
            aload 1 /* metaAnnotationType */
            invokespecial org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey.<init>:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)V
            astore 2 /* cacheKey */
        start local 2 // org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey cacheKey
         4: .line 921
            getstatic org.springframework.core.annotation.AnnotationUtils.metaPresentCache:Ljava/util/Map;
            aload 2 /* cacheKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 3 /* metaPresent */
        start local 3 // java.lang.Boolean metaPresent
         5: .line 922
            aload 3 /* metaPresent */
            ifnull 7
         6: .line 923
            aload 3 /* metaPresent */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         7: .line 925
      StackMap locals: org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey java.lang.Boolean
      StackMap stack:
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            astore 3 /* metaPresent */
         8: .line 926
            aload 0 /* annotationType */
            aload 1 /* metaAnnotationType */
            iconst_0
            invokestatic org.springframework.core.annotation.AnnotationUtils.findAnnotation:(Ljava/lang/Class;Ljava/lang/Class;Z)Ljava/lang/annotation/Annotation;
            ifnull 10
         9: .line 927
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            astore 3 /* metaPresent */
        10: .line 929
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.core.annotation.AnnotationUtils.metaPresentCache:Ljava/util/Map;
            aload 2 /* cacheKey */
            aload 3 /* metaPresent */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 930
            aload 3 /* metaPresent */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 3 // java.lang.Boolean metaPresent
        end local 2 // org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey cacheKey
        end local 1 // java.lang.Class metaAnnotationType
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0      annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0   12     1  metaAnnotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            4   12     2            cacheKey  Lorg/springframework/core/annotation/AnnotationUtils$AnnotationCacheKey;
            5   12     3         metaPresent  Ljava/lang/Boolean;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                    Name  Flags
      annotationType      
      metaAnnotationType  

  static boolean hasPlainJavaAnnotationsOnly(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Object annotatedElement
         0: .line 943
            aload 0 /* annotatedElement */
            instanceof java.lang.Class
            ifeq 3
         1: .line 944
            aload 0 /* annotatedElement */
            checkcast java.lang.Class
            astore 1 /* clazz */
        start local 1 // java.lang.Class clazz
         2: .line 945
            goto 7
        end local 1 // java.lang.Class clazz
         3: .line 946
      StackMap locals:
      StackMap stack:
            aload 0 /* annotatedElement */
            instanceof java.lang.reflect.Member
            ifeq 6
         4: .line 947
            aload 0 /* annotatedElement */
            checkcast java.lang.reflect.Member
            invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
            astore 1 /* clazz */
        start local 1 // java.lang.Class clazz
         5: .line 948
            goto 7
        end local 1 // java.lang.Class clazz
         6: .line 950
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        start local 1 // java.lang.Class clazz
         7: .line 952
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         8: .line 953
            aload 2 /* name */
            ldc "java"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
            aload 2 /* name */
            ldc "org.springframework.lang."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 9
            iconst_0
            ireturn
      StackMap locals: java.lang.String
      StackMap stack:
         9: iconst_1
            ireturn
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class clazz
        end local 0 // java.lang.Object annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0  annotatedElement  Ljava/lang/Object;
            2    3     1             clazz  Ljava/lang/Class<*>;
            5    6     1             clazz  Ljava/lang/Class<*>;
            7   10     1             clazz  Ljava/lang/Class<*>;
            8   10     2              name  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotatedElement  

  public static boolean isInJavaLangAnnotationPackage(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation annotation
         0: .line 963
            aload 0 /* annotation */
            ifnull 1
            aload 0 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage:(Ljava/lang/Class;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  annotation  Ljava/lang/annotation/Annotation;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      annotation  

  static boolean isInJavaLangAnnotationPackage(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 974
            aload 0 /* annotationType */
            ifnull 1
            aload 0 /* annotationType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  

  public static boolean isInJavaLangAnnotationPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String annotationType
         0: .line 985
            aload 0 /* annotationType */
            ifnull 1
            aload 0 /* annotationType */
            ldc "java.lang.annotation"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0  annotationType  Ljava/lang/String;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  

  public static void validateAnnotation(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.annotation.Annotation annotation
         0: .line 1001
            aload 0 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeMethods:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 8
      StackMap locals: java.lang.annotation.Annotation top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 1 /* method */
        start local 1 // java.lang.reflect.Method method
         2: .line 1002
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 3 /* returnType */
        start local 3 // java.lang.Class returnType
         3: .line 1003
            aload 3 /* returnType */
            ldc Ljava/lang/Class;
            if_acmpeq 4
            aload 3 /* returnType */
            ldc [Ljava/lang/Class;
            if_acmpne 8
         4: .line 1005
      StackMap locals: java.lang.annotation.Annotation java.lang.reflect.Method java.util.Iterator java.lang.Class
      StackMap stack:
            aload 1 /* method */
            aload 0 /* annotation */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1006
            goto 8
         6: .line 1007
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
         7: .line 1008
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not obtain annotation attribute value for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Throwable ex
        end local 3 // java.lang.Class returnType
        end local 1 // java.lang.reflect.Method method
         8: .line 1001
      StackMap locals: java.lang.annotation.Annotation top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 1012
            return
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0  annotation  Ljava/lang/annotation/Annotation;
            2    8     1      method  Ljava/lang/reflect/Method;
            3    8     3  returnType  Ljava/lang/Class<*>;
            7    8     4          ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      annotation  

  public static java.util.Map<java.lang.String, java.lang.Object> getAnnotationAttributes(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation annotation
         0: .line 1030
            aconst_null
            aload 0 /* annotation */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/annotation/Annotation;)Lorg/springframework/core/annotation/AnnotationAttributes;
            areturn
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  annotation  Ljava/lang/annotation/Annotation;
    Signature: (Ljava/lang/annotation/Annotation;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
            Name  Flags
      annotation  

  public static java.util.Map<java.lang.String, java.lang.Object> getAnnotationAttributes(java.lang.annotation.Annotation, boolean);
    descriptor: (Ljava/lang/annotation/Annotation;Z)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.annotation.Annotation annotation
        start local 1 // boolean classValuesAsString
         0: .line 1048
            aload 0 /* annotation */
            iload 1 /* classValuesAsString */
            iconst_0
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
            areturn
        end local 1 // boolean classValuesAsString
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0           annotation  Ljava/lang/annotation/Annotation;
            0    1     1  classValuesAsString  Z
    Signature: (Ljava/lang/annotation/Annotation;Z)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
                     Name  Flags
      annotation           
      classValuesAsString  

  public static org.springframework.core.annotation.AnnotationAttributes getAnnotationAttributes(java.lang.annotation.Annotation, boolean, boolean);
    descriptor: (Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.annotation.Annotation annotation
        start local 1 // boolean classValuesAsString
        start local 2 // boolean nestedAnnotationsAsMap
         0: .line 1070
            aconst_null
            aload 0 /* annotation */
            iload 1 /* classValuesAsString */
            iload 2 /* nestedAnnotationsAsMap */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
            areturn
        end local 2 // boolean nestedAnnotationsAsMap
        end local 1 // boolean classValuesAsString
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0              annotation  Ljava/lang/annotation/Annotation;
            0    1     1     classValuesAsString  Z
            0    1     2  nestedAnnotationsAsMap  Z
    MethodParameters:
                        Name  Flags
      annotation              
      classValuesAsString     
      nestedAnnotationsAsMap  

  public static org.springframework.core.annotation.AnnotationAttributes getAnnotationAttributes(java.lang.reflect.AnnotatedElement, java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/annotation/Annotation;)Lorg/springframework/core/annotation/AnnotationAttributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.annotation.Annotation annotation
         0: .line 1087
            aload 0 /* annotatedElement */
            aload 1 /* annotation */
            iconst_0
            iconst_0
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
            areturn
        end local 1 // java.lang.annotation.Annotation annotation
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0    1     1        annotation  Ljava/lang/annotation/Annotation;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
                  Name  Flags
      annotatedElement  
      annotation        

  public static org.springframework.core.annotation.AnnotationAttributes getAnnotationAttributes(java.lang.reflect.AnnotatedElement, java.lang.annotation.Annotation, boolean, boolean);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.reflect.AnnotatedElement annotatedElement
        start local 1 // java.lang.annotation.Annotation annotation
        start local 2 // boolean classValuesAsString
        start local 3 // boolean nestedAnnotationsAsMap
         0: .line 1112
            aload 0 /* annotatedElement */
            aload 1 /* annotation */
            iload 2 /* classValuesAsString */
            iload 3 /* nestedAnnotationsAsMap */
         1: .line 1111
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/Object;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
            areturn
        end local 3 // boolean nestedAnnotationsAsMap
        end local 2 // boolean classValuesAsString
        end local 1 // java.lang.annotation.Annotation annotation
        end local 0 // java.lang.reflect.AnnotatedElement annotatedElement
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0        annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            0    2     1              annotation  Ljava/lang/annotation/Annotation;
            0    2     2     classValuesAsString  Z
            0    2     3  nestedAnnotationsAsMap  Z
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
      2:
      3:
    MethodParameters:
                        Name  Flags
      annotatedElement        
      annotation              
      classValuesAsString     
      nestedAnnotationsAsMap  

  private static org.springframework.core.annotation.AnnotationAttributes getAnnotationAttributes(java.lang.Object, java.lang.annotation.Annotation, boolean, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.lang.Object annotatedElement
        start local 1 // java.lang.annotation.Annotation annotation
        start local 2 // boolean classValuesAsString
        start local 3 // boolean nestedAnnotationsAsMap
         0: .line 1119
            aload 0 /* annotatedElement */
            aload 1 /* annotation */
            iload 2 /* classValuesAsString */
            iload 3 /* nestedAnnotationsAsMap */
            invokestatic org.springframework.core.annotation.AnnotationUtils.retrieveAnnotationAttributes:(Ljava/lang/Object;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
         1: .line 1118
            astore 4 /* attributes */
        start local 4 // org.springframework.core.annotation.AnnotationAttributes attributes
         2: .line 1120
            aload 0 /* annotatedElement */
            aload 4 /* attributes */
            iload 2 /* classValuesAsString */
            iload 3 /* nestedAnnotationsAsMap */
            invokestatic org.springframework.core.annotation.AnnotationUtils.postProcessAnnotationAttributes:(Ljava/lang/Object;Lorg/springframework/core/annotation/AnnotationAttributes;ZZ)V
         3: .line 1121
            aload 4 /* attributes */
            areturn
        end local 4 // org.springframework.core.annotation.AnnotationAttributes attributes
        end local 3 // boolean nestedAnnotationsAsMap
        end local 2 // boolean classValuesAsString
        end local 1 // java.lang.annotation.Annotation annotation
        end local 0 // java.lang.Object annotatedElement
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0        annotatedElement  Ljava/lang/Object;
            0    4     1              annotation  Ljava/lang/annotation/Annotation;
            0    4     2     classValuesAsString  Z
            0    4     3  nestedAnnotationsAsMap  Z
            2    4     4              attributes  Lorg/springframework/core/annotation/AnnotationAttributes;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
      2:
      3:
    MethodParameters:
                        Name  Flags
      annotatedElement        
      annotation              
      classValuesAsString     
      nestedAnnotationsAsMap  

  static org.springframework.core.annotation.AnnotationAttributes retrieveAnnotationAttributes(java.lang.Object, java.lang.annotation.Annotation, boolean, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // java.lang.Object annotatedElement
        start local 1 // java.lang.annotation.Annotation annotation
        start local 2 // boolean classValuesAsString
        start local 3 // boolean nestedAnnotationsAsMap
         0: .line 1155
            aload 1 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            astore 4 /* annotationType */
        start local 4 // java.lang.Class annotationType
         1: .line 1156
            new org.springframework.core.annotation.AnnotationAttributes
            dup
            aload 4 /* annotationType */
            invokespecial org.springframework.core.annotation.AnnotationAttributes.<init>:(Ljava/lang/Class;)V
            astore 5 /* attributes */
        start local 5 // org.springframework.core.annotation.AnnotationAttributes attributes
         2: .line 1158
            aload 4 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeMethods:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals: java.lang.Object java.lang.annotation.Annotation int int java.lang.Class org.springframework.core.annotation.AnnotationAttributes top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 6 /* method */
        start local 6 // java.lang.reflect.Method method
         4: .line 1160
            aload 6 /* method */
            aload 1 /* annotation */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 8 /* attributeValue */
        start local 8 // java.lang.Object attributeValue
         5: .line 1161
            aload 6 /* method */
            invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
            astore 9 /* defaultValue */
        start local 9 // java.lang.Object defaultValue
         6: .line 1162
            aload 9 /* defaultValue */
            ifnull 8
            aload 8 /* attributeValue */
            aload 9 /* defaultValue */
            invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1163
            new org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
            dup
            aload 9 /* defaultValue */
            invokespecial org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder.<init>:(Ljava/lang/Object;)V
            astore 8 /* attributeValue */
         8: .line 1165
      StackMap locals: java.lang.Object java.lang.annotation.Annotation int int java.lang.Class org.springframework.core.annotation.AnnotationAttributes java.lang.reflect.Method java.util.Iterator java.lang.Object java.lang.Object
      StackMap stack:
            aload 5 /* attributes */
            aload 6 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
         9: .line 1166
            aload 0 /* annotatedElement */
            aload 8 /* attributeValue */
            iload 2 /* classValuesAsString */
            iload 3 /* nestedAnnotationsAsMap */
            invokestatic org.springframework.core.annotation.AnnotationUtils.adaptValue:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;
        10: .line 1165
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.Object defaultValue
        end local 8 // java.lang.Object attributeValue
        11: .line 1167
            goto 17
        12: .line 1168
      StackMap locals: java.lang.Object java.lang.annotation.Annotation int int java.lang.Class org.springframework.core.annotation.AnnotationAttributes java.lang.reflect.Method java.util.Iterator
      StackMap stack: java.lang.Throwable
            astore 8 /* ex */
        start local 8 // java.lang.Throwable ex
        13: .line 1169
            aload 8 /* ex */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 16
        14: .line 1170
            aload 8 /* ex */
            checkcast java.lang.reflect.InvocationTargetException
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 9 /* targetException */
        start local 9 // java.lang.Throwable targetException
        15: .line 1171
            aload 9 /* targetException */
            invokestatic org.springframework.core.annotation.AnnotationUtils.rethrowAnnotationConfigurationException:(Ljava/lang/Throwable;)V
        end local 9 // java.lang.Throwable targetException
        16: .line 1173
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not obtain annotation attribute value for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Throwable ex
        end local 6 // java.lang.reflect.Method method
        17: .line 1158
      StackMap locals: java.lang.Object java.lang.annotation.Annotation int int java.lang.Class org.springframework.core.annotation.AnnotationAttributes top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        18: .line 1177
            aload 5 /* attributes */
            areturn
        end local 5 // org.springframework.core.annotation.AnnotationAttributes attributes
        end local 4 // java.lang.Class annotationType
        end local 3 // boolean nestedAnnotationsAsMap
        end local 2 // boolean classValuesAsString
        end local 1 // java.lang.annotation.Annotation annotation
        end local 0 // java.lang.Object annotatedElement
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   19     0        annotatedElement  Ljava/lang/Object;
            0   19     1              annotation  Ljava/lang/annotation/Annotation;
            0   19     2     classValuesAsString  Z
            0   19     3  nestedAnnotationsAsMap  Z
            1   19     4          annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            2   19     5              attributes  Lorg/springframework/core/annotation/AnnotationAttributes;
            4   17     6                  method  Ljava/lang/reflect/Method;
            5   11     8          attributeValue  Ljava/lang/Object;
            6   11     9            defaultValue  Ljava/lang/Object;
           13   17     8                      ex  Ljava/lang/Throwable;
           15   16     9         targetException  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    11      12  Class java.lang.Throwable
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
      2:
      3:
    MethodParameters:
                        Name  Flags
      annotatedElement        
      annotation              
      classValuesAsString     
      nestedAnnotationsAsMap  

  static java.lang.Object adaptValue(java.lang.Object, java.lang.Object, boolean, boolean);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // java.lang.Object annotatedElement
        start local 1 // java.lang.Object value
        start local 2 // boolean classValuesAsString
        start local 3 // boolean nestedAnnotationsAsMap
         0: .line 1200
            iload 2 /* classValuesAsString */
            ifeq 12
         1: .line 1201
            aload 1 /* value */
            instanceof java.lang.Class
            ifeq 3
         2: .line 1202
            aload 1 /* value */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
         3: .line 1204
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.Class[]
            ifeq 12
         4: .line 1205
            aload 1 /* value */
            checkcast java.lang.Class[]
            astore 4 /* clazzArray */
        start local 4 // java.lang.Class[] clazzArray
         5: .line 1206
            aload 4 /* clazzArray */
            arraylength
            anewarray java.lang.String
            astore 5 /* classNames */
        start local 5 // java.lang.String[] classNames
         6: .line 1207
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 10
         8: .line 1208
      StackMap locals: java.lang.Class[] java.lang.String[] int
      StackMap stack:
            aload 5 /* classNames */
            iload 6 /* i */
            aload 4 /* clazzArray */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         9: .line 1207
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 4 /* clazzArray */
            arraylength
            if_icmplt 8
        end local 6 // int i
        11: .line 1210
            aload 5 /* classNames */
            areturn
        end local 5 // java.lang.String[] classNames
        end local 4 // java.lang.Class[] clazzArray
        12: .line 1214
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.annotation.Annotation
            ifeq 17
        13: .line 1215
            aload 1 /* value */
            checkcast java.lang.annotation.Annotation
            astore 4 /* annotation */
        start local 4 // java.lang.annotation.Annotation annotation
        14: .line 1216
            iload 3 /* nestedAnnotationsAsMap */
            ifeq 16
        15: .line 1217
            aload 0 /* annotatedElement */
            aload 4 /* annotation */
            iload 2 /* classValuesAsString */
            iconst_1
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/Object;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
            areturn
        16: .line 1220
      StackMap locals: java.lang.annotation.Annotation
      StackMap stack:
            aload 4 /* annotation */
            aload 0 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/Object;)Ljava/lang/annotation/Annotation;
            areturn
        end local 4 // java.lang.annotation.Annotation annotation
        17: .line 1224
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.lang.annotation.Annotation[]
            ifeq 30
        18: .line 1225
            aload 1 /* value */
            checkcast java.lang.annotation.Annotation[]
            astore 4 /* annotations */
        start local 4 // java.lang.annotation.Annotation[] annotations
        19: .line 1226
            iload 3 /* nestedAnnotationsAsMap */
            ifeq 29
        20: .line 1227
            aload 4 /* annotations */
            arraylength
            anewarray org.springframework.core.annotation.AnnotationAttributes
            astore 5 /* mappedAnnotations */
        start local 5 // org.springframework.core.annotation.AnnotationAttributes[] mappedAnnotations
        21: .line 1228
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        22: goto 27
        23: .line 1229
      StackMap locals: java.lang.annotation.Annotation[] org.springframework.core.annotation.AnnotationAttributes[] int
      StackMap stack:
            aload 5 /* mappedAnnotations */
            iload 6 /* i */
        24: .line 1230
            aload 0 /* annotatedElement */
            aload 4 /* annotations */
            iload 6 /* i */
            aaload
            iload 2 /* classValuesAsString */
            iconst_1
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/Object;Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
        25: .line 1229
            aastore
        26: .line 1228
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 6 /* i */
            aload 4 /* annotations */
            arraylength
            if_icmplt 23
        end local 6 // int i
        28: .line 1232
            aload 5 /* mappedAnnotations */
            areturn
        end local 5 // org.springframework.core.annotation.AnnotationAttributes[] mappedAnnotations
        29: .line 1235
      StackMap locals:
      StackMap stack:
            aload 4 /* annotations */
            aload 0 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotationArray:([Ljava/lang/annotation/Annotation;Ljava/lang/Object;)[Ljava/lang/annotation/Annotation;
            areturn
        end local 4 // java.lang.annotation.Annotation[] annotations
        30: .line 1240
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 3 // boolean nestedAnnotationsAsMap
        end local 2 // boolean classValuesAsString
        end local 1 // java.lang.Object value
        end local 0 // java.lang.Object annotatedElement
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   31     0        annotatedElement  Ljava/lang/Object;
            0   31     1                   value  Ljava/lang/Object;
            0   31     2     classValuesAsString  Z
            0   31     3  nestedAnnotationsAsMap  Z
            5   12     4              clazzArray  [Ljava/lang/Class;
            6   12     5              classNames  [Ljava/lang/String;
            7   11     6                       i  I
           14   17     4              annotation  Ljava/lang/annotation/Annotation;
           19   30     4             annotations  [Ljava/lang/annotation/Annotation;
           21   29     5       mappedAnnotations  [Lorg/springframework/core/annotation/AnnotationAttributes;
           22   28     6                       i  I
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
      2:
      3:
    MethodParameters:
                        Name  Flags
      annotatedElement        
      value                   
      classValuesAsString     
      nestedAnnotationsAsMap  

  public static void registerDefaultValues(org.springframework.core.annotation.AnnotationAttributes);
    descriptor: (Lorg/springframework/core/annotation/AnnotationAttributes;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // org.springframework.core.annotation.AnnotationAttributes attributes
         0: .line 1253
            aload 0 /* attributes */
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.annotationType:()Ljava/lang/Class;
            astore 1 /* annotationType */
        start local 1 // java.lang.Class annotationType
         1: .line 1254
            aload 1 /* annotationType */
            ifnull 21
            aload 1 /* annotationType */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifeq 21
         2: .line 1256
            aload 1 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeMethods:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 20
      StackMap locals: org.springframework.core.annotation.AnnotationAttributes java.lang.Class top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 2 /* annotationAttribute */
        start local 2 // java.lang.reflect.Method annotationAttribute
         4: .line 1257
            aload 2 /* annotationAttribute */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 4 /* attributeName */
        start local 4 // java.lang.String attributeName
         5: .line 1258
            aload 2 /* annotationAttribute */
            invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
            astore 5 /* defaultValue */
        start local 5 // java.lang.Object defaultValue
         6: .line 1259
            aload 5 /* defaultValue */
            ifnull 20
            aload 0 /* attributes */
            aload 4 /* attributeName */
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.containsKey:(Ljava/lang/Object;)Z
            ifne 20
         7: .line 1260
            aload 5 /* defaultValue */
            instanceof java.lang.annotation.Annotation
            ifeq 10
         8: .line 1261
            aload 5 /* defaultValue */
            checkcast java.lang.annotation.Annotation
            iconst_0
            iconst_1
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
            astore 5 /* defaultValue */
         9: .line 1262
            goto 19
        10: .line 1263
      StackMap locals: org.springframework.core.annotation.AnnotationAttributes java.lang.Class java.lang.reflect.Method java.util.Iterator java.lang.String java.lang.Object
      StackMap stack:
            aload 5 /* defaultValue */
            instanceof java.lang.annotation.Annotation[]
            ifeq 19
        11: .line 1264
            aload 5 /* defaultValue */
            checkcast java.lang.annotation.Annotation[]
            astore 6 /* realAnnotations */
        start local 6 // java.lang.annotation.Annotation[] realAnnotations
        12: .line 1265
            aload 6 /* realAnnotations */
            arraylength
            anewarray org.springframework.core.annotation.AnnotationAttributes
            astore 7 /* mappedAnnotations */
        start local 7 // org.springframework.core.annotation.AnnotationAttributes[] mappedAnnotations
        13: .line 1266
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        14: goto 17
        15: .line 1267
      StackMap locals: java.lang.annotation.Annotation[] org.springframework.core.annotation.AnnotationAttributes[] int
      StackMap stack:
            aload 7 /* mappedAnnotations */
            iload 8 /* i */
            aload 6 /* realAnnotations */
            iload 8 /* i */
            aaload
            iconst_0
            iconst_1
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotationAttributes:(Ljava/lang/annotation/Annotation;ZZ)Lorg/springframework/core/annotation/AnnotationAttributes;
            aastore
        16: .line 1266
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 8 /* i */
            aload 6 /* realAnnotations */
            arraylength
            if_icmplt 15
        end local 8 // int i
        18: .line 1269
            aload 7 /* mappedAnnotations */
            astore 5 /* defaultValue */
        end local 7 // org.springframework.core.annotation.AnnotationAttributes[] mappedAnnotations
        end local 6 // java.lang.annotation.Annotation[] realAnnotations
        19: .line 1271
      StackMap locals:
      StackMap stack:
            aload 0 /* attributes */
            aload 4 /* attributeName */
            new org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
            dup
            aload 5 /* defaultValue */
            invokespecial org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder.<init>:(Ljava/lang/Object;)V
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Object defaultValue
        end local 4 // java.lang.String attributeName
        end local 2 // java.lang.reflect.Method annotationAttribute
        20: .line 1256
      StackMap locals: org.springframework.core.annotation.AnnotationAttributes java.lang.Class top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        21: .line 1275
      StackMap locals: org.springframework.core.annotation.AnnotationAttributes java.lang.Class
      StackMap stack:
            return
        end local 1 // java.lang.Class annotationType
        end local 0 // org.springframework.core.annotation.AnnotationAttributes attributes
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   22     0           attributes  Lorg/springframework/core/annotation/AnnotationAttributes;
            1   22     1       annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            4   20     2  annotationAttribute  Ljava/lang/reflect/Method;
            5   20     4        attributeName  Ljava/lang/String;
            6   20     5         defaultValue  Ljava/lang/Object;
           12   19     6      realAnnotations  [Ljava/lang/annotation/Annotation;
           13   19     7    mappedAnnotations  [Lorg/springframework/core/annotation/AnnotationAttributes;
           14   18     8                    i  I
    MethodParameters:
            Name  Flags
      attributes  

  public static void postProcessAnnotationAttributes(java.lang.Object, org.springframework.core.annotation.AnnotationAttributes, boolean);
    descriptor: (Ljava/lang/Object;Lorg/springframework/core/annotation/AnnotationAttributes;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Object annotatedElement
        start local 1 // org.springframework.core.annotation.AnnotationAttributes attributes
        start local 2 // boolean classValuesAsString
         0: .line 1297
            aload 0 /* annotatedElement */
            aload 1 /* attributes */
            iload 2 /* classValuesAsString */
            iconst_0
            invokestatic org.springframework.core.annotation.AnnotationUtils.postProcessAnnotationAttributes:(Ljava/lang/Object;Lorg/springframework/core/annotation/AnnotationAttributes;ZZ)V
         1: .line 1298
            return
        end local 2 // boolean classValuesAsString
        end local 1 // org.springframework.core.annotation.AnnotationAttributes attributes
        end local 0 // java.lang.Object annotatedElement
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0     annotatedElement  Ljava/lang/Object;
            0    2     1           attributes  Lorg/springframework/core/annotation/AnnotationAttributes;
            0    2     2  classValuesAsString  Z
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
      2:
    MethodParameters:
                     Name  Flags
      annotatedElement     
      attributes           
      classValuesAsString  

  static void postProcessAnnotationAttributes(java.lang.Object, org.springframework.core.annotation.AnnotationAttributes, boolean, boolean);
    descriptor: (Ljava/lang/Object;Lorg/springframework/core/annotation/AnnotationAttributes;ZZ)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // java.lang.Object annotatedElement
        start local 1 // org.springframework.core.annotation.AnnotationAttributes attributes
        start local 2 // boolean classValuesAsString
        start local 3 // boolean nestedAnnotationsAsMap
         0: .line 1323
            aload 1 /* attributes */
            ifnonnull 2
         1: .line 1324
            return
         2: .line 1327
      StackMap locals:
      StackMap stack:
            aload 1 /* attributes */
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.annotationType:()Ljava/lang/Class;
            astore 4 /* annotationType */
        start local 4 // java.lang.Class annotationType
         3: .line 1331
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* valuesAlreadyReplaced */
        start local 5 // java.util.Set valuesAlreadyReplaced
         4: .line 1333
            aload 1 /* attributes */
            getfield org.springframework.core.annotation.AnnotationAttributes.validated:Z
            ifne 8
         5: .line 1335
            aload 4 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeAliasMap:(Ljava/lang/Class;)Ljava/util/Map;
            astore 6 /* aliasMap */
        start local 6 // java.util.Map aliasMap
         6: .line 1336
            aload 6 /* aliasMap */
            aload 5 /* valuesAlreadyReplaced */
            aload 1 /* attributes */
            aload 0 /* annotatedElement */
            iload 2 /* classValuesAsString */
            iload 3 /* nestedAnnotationsAsMap */
            invokedynamic accept(Ljava/util/Set;Lorg/springframework/core/annotation/AnnotationAttributes;Ljava/lang/Object;ZZ)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/springframework/core/annotation/AnnotationUtils.lambda$1(Ljava/util/Set;Lorg/springframework/core/annotation/AnnotationAttributes;Ljava/lang/Object;ZZLjava/lang/String;Ljava/util/List;)V (6)
                  (Ljava/lang/String;Ljava/util/List;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
         7: .line 1378
            aload 1 /* attributes */
            iconst_1
            putfield org.springframework.core.annotation.AnnotationAttributes.validated:Z
        end local 6 // java.util.Map aliasMap
         8: .line 1382
      StackMap locals: java.lang.Class java.util.Set
      StackMap stack:
            aload 1 /* attributes */
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 19
      StackMap locals: java.lang.Object org.springframework.core.annotation.AnnotationAttributes int int java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* attributeEntry */
        start local 6 // java.util.Map$Entry attributeEntry
        10: .line 1383
            aload 6 /* attributeEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* attributeName */
        start local 8 // java.lang.String attributeName
        11: .line 1384
            aload 5 /* valuesAlreadyReplaced */
            aload 8 /* attributeName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 1385
            goto 19
        13: .line 1387
      StackMap locals: java.lang.Object org.springframework.core.annotation.AnnotationAttributes int int java.lang.Class java.util.Set java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            aload 6 /* attributeEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 9 /* value */
        start local 9 // java.lang.Object value
        14: .line 1388
            aload 9 /* value */
            instanceof org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
            ifeq 19
        15: .line 1389
            aload 9 /* value */
            checkcast org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
            getfield org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder.defaultValue:Ljava/lang/Object;
            astore 9 /* value */
        16: .line 1390
            aload 1 /* attributes */
            aload 8 /* attributeName */
        17: .line 1391
            aload 0 /* annotatedElement */
            aload 9 /* value */
            iload 2 /* classValuesAsString */
            iload 3 /* nestedAnnotationsAsMap */
            invokestatic org.springframework.core.annotation.AnnotationUtils.adaptValue:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;
        18: .line 1390
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.Object value
        end local 8 // java.lang.String attributeName
        end local 6 // java.util.Map$Entry attributeEntry
        19: .line 1382
      StackMap locals: java.lang.Object org.springframework.core.annotation.AnnotationAttributes int int java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        20: .line 1394
            return
        end local 5 // java.util.Set valuesAlreadyReplaced
        end local 4 // java.lang.Class annotationType
        end local 3 // boolean nestedAnnotationsAsMap
        end local 2 // boolean classValuesAsString
        end local 1 // org.springframework.core.annotation.AnnotationAttributes attributes
        end local 0 // java.lang.Object annotatedElement
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0        annotatedElement  Ljava/lang/Object;
            0   21     1              attributes  Lorg/springframework/core/annotation/AnnotationAttributes;
            0   21     2     classValuesAsString  Z
            0   21     3  nestedAnnotationsAsMap  Z
            3   21     4          annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            4   21     5   valuesAlreadyReplaced  Ljava/util/Set<Ljava/lang/String;>;
            6    8     6                aliasMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           10   19     6          attributeEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
           11   19     8           attributeName  Ljava/lang/String;
           14   19     9                   value  Ljava/lang/Object;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
      2:
      3:
    MethodParameters:
                        Name  Flags
      annotatedElement        
      attributes              
      classValuesAsString     
      nestedAnnotationsAsMap  

  public static java.lang.Object getValue(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation annotation
         0: .line 1407
            aload 0 /* annotation */
            ldc "value"
            invokestatic org.springframework.core.annotation.AnnotationUtils.getValue:(Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  annotation  Ljava/lang/annotation/Annotation;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      annotation  

  public static java.lang.Object getValue(java.lang.annotation.Annotation, java.lang.String);
    descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.annotation.Annotation annotation
        start local 1 // java.lang.String attributeName
         0: .line 1422
            aload 0 /* annotation */
            ifnull 1
            aload 1 /* attributeName */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1423
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1426
      StackMap locals:
      StackMap stack:
            aload 0 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            aload 1 /* attributeName */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* method */
        start local 2 // java.lang.reflect.Method method
         3: .line 1427
            aload 2 /* method */
            invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Method;)V
         4: .line 1428
            aload 2 /* method */
            aload 0 /* annotation */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         5: areturn
        end local 2 // java.lang.reflect.Method method
         6: .line 1430
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         7: .line 1431
            aconst_null
            areturn
         8: .line 1433
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* ex */
        start local 2 // java.lang.reflect.InvocationTargetException ex
         9: .line 1434
            aload 2 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokestatic org.springframework.core.annotation.AnnotationUtils.rethrowAnnotationConfigurationException:(Ljava/lang/Throwable;)V
        10: .line 1435
            new java.lang.IllegalStateException
            dup
        11: .line 1436
            new java.lang.StringBuilder
            dup
            ldc "Could not obtain value for annotation attribute '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* attributeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* annotation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* ex */
        12: .line 1435
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.reflect.InvocationTargetException ex
        13: .line 1438
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
        14: .line 1439
            aload 0 /* annotation */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
        15: .line 1440
            aconst_null
            areturn
        end local 2 // java.lang.Throwable ex
        end local 1 // java.lang.String attributeName
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0     annotation  Ljava/lang/annotation/Annotation;
            0   16     1  attributeName  Ljava/lang/String;
            3    6     2         method  Ljava/lang/reflect/Method;
            9   13     2             ex  Ljava/lang/reflect/InvocationTargetException;
           14   16     2             ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.NoSuchMethodException
           2     5       8  Class java.lang.reflect.InvocationTargetException
           2     5      13  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      annotation     
      attributeName  

  public static java.lang.Object getDefaultValue(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation annotation
         0: .line 1453
            aload 0 /* annotation */
            ldc "value"
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDefaultValue:(Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  annotation  Ljava/lang/annotation/Annotation;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      annotation  

  public static java.lang.Object getDefaultValue(java.lang.annotation.Annotation, java.lang.String);
    descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.annotation.Annotation annotation
        start local 1 // java.lang.String attributeName
         0: .line 1465
            aload 0 /* annotation */
            ifnonnull 2
         1: .line 1466
            aconst_null
            areturn
         2: .line 1468
      StackMap locals:
      StackMap stack:
            aload 0 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            aload 1 /* attributeName */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDefaultValue:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String attributeName
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0     annotation  Ljava/lang/annotation/Annotation;
            0    3     1  attributeName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      annotation     
      attributeName  

  public static  getDefaultValue(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 1480
            aload 0 /* annotationType */
            ldc "value"
            invokestatic org.springframework.core.annotation.AnnotationUtils.getDefaultValue:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  

  public static  getDefaultValue(java.lang.Class<? extends java.lang.annotation.Annotation>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Class annotationType
        start local 1 // java.lang.String attributeName
         0: .line 1495
            aload 0 /* annotationType */
            ifnull 1
            aload 1 /* attributeName */
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1496
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1499
      StackMap locals:
      StackMap stack:
            aload 0 /* annotationType */
            aload 1 /* attributeName */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
         3: areturn
         4: .line 1501
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* ex */
        start local 2 // java.lang.Throwable ex
         5: .line 1502
            aload 0 /* annotationType */
            aload 2 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.handleIntrospectionFailure:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
         6: .line 1503
            aconst_null
            areturn
        end local 2 // java.lang.Throwable ex
        end local 1 // java.lang.String attributeName
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            0    7     1   attributeName  Ljava/lang/String;
            5    7     2              ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;Ljava/lang/String;)Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  
      attributeName   

  static <A extends java.lang.annotation.Annotation> A synthesizeAnnotation();
    descriptor: (Ljava/lang/annotation/Annotation;)Ljava/lang/annotation/Annotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation annotation
         0: .line 1522
            aload 0 /* annotation */
            aconst_null
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  annotation  TA;
    Signature: <A::Ljava/lang/annotation/Annotation;>(TA;)TA;
    MethodParameters:
            Name  Flags
      annotation  

  public static <A extends java.lang.annotation.Annotation> A synthesizeAnnotation(A, java.lang.reflect.AnnotatedElement);
    descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.annotation.Annotation annotation
        start local 1 // java.lang.reflect.AnnotatedElement annotatedElement
         0: .line 1545
            aload 0 /* annotation */
            aload 1 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/Object;)Ljava/lang/annotation/Annotation;
            areturn
        end local 1 // java.lang.reflect.AnnotatedElement annotatedElement
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0        annotation  TA;
            0    1     1  annotatedElement  Ljava/lang/reflect/AnnotatedElement;
    Signature: <A::Ljava/lang/annotation/Annotation;>(TA;Ljava/lang/reflect/AnnotatedElement;)TA;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotation        
      annotatedElement  

  static <A extends java.lang.annotation.Annotation> A synthesizeAnnotation(A, );
    descriptor: (Ljava/lang/annotation/Annotation;Ljava/lang/Object;)Ljava/lang/annotation/Annotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.annotation.Annotation annotation
        start local 1 // java.lang.Object annotatedElement
         0: .line 1550
            aload 0 /* annotation */
            instanceof org.springframework.core.annotation.SynthesizedAnnotation
            ifne 1
            aload 1 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.hasPlainJavaAnnotationsOnly:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1551
      StackMap locals:
      StackMap stack:
            aload 0 /* annotation */
            areturn
         2: .line 1554
      StackMap locals:
      StackMap stack:
            aload 0 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            astore 2 /* annotationType */
        start local 2 // java.lang.Class annotationType
         3: .line 1555
            aload 2 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isSynthesizable:(Ljava/lang/Class;)Z
            ifne 5
         4: .line 1556
            aload 0 /* annotation */
            areturn
         5: .line 1560
      StackMap locals: java.lang.Class
      StackMap stack:
            new org.springframework.core.annotation.DefaultAnnotationAttributeExtractor
            dup
            aload 0 /* annotation */
            aload 1 /* annotatedElement */
            invokespecial org.springframework.core.annotation.DefaultAnnotationAttributeExtractor.<init>:(Ljava/lang/annotation/Annotation;Ljava/lang/Object;)V
         6: .line 1559
            astore 3 /* attributeExtractor */
        start local 3 // org.springframework.core.annotation.DefaultAnnotationAttributeExtractor attributeExtractor
         7: .line 1561
            new org.springframework.core.annotation.SynthesizedAnnotationInvocationHandler
            dup
            aload 3 /* attributeExtractor */
            invokespecial org.springframework.core.annotation.SynthesizedAnnotationInvocationHandler.<init>:(Lorg/springframework/core/annotation/AnnotationAttributeExtractor;)V
            astore 4 /* handler */
        start local 4 // java.lang.reflect.InvocationHandler handler
         8: .line 1565
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 2 /* annotationType */
            aastore
            dup
            iconst_1
            ldc Lorg/springframework/core/annotation/SynthesizedAnnotation;
            aastore
            astore 5 /* exposedInterfaces */
        start local 5 // java.lang.Class[] exposedInterfaces
         9: .line 1566
            aload 0 /* annotation */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 5 /* exposedInterfaces */
            aload 4 /* handler */
            invokestatic java.lang.reflect.Proxy.newProxyInstance:(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            areturn
        end local 5 // java.lang.Class[] exposedInterfaces
        end local 4 // java.lang.reflect.InvocationHandler handler
        end local 3 // org.springframework.core.annotation.DefaultAnnotationAttributeExtractor attributeExtractor
        end local 2 // java.lang.Class annotationType
        end local 1 // java.lang.Object annotatedElement
        end local 0 // java.lang.annotation.Annotation annotation
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0          annotation  TA;
            0   10     1    annotatedElement  Ljava/lang/Object;
            3   10     2      annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            7   10     3  attributeExtractor  Lorg/springframework/core/annotation/DefaultAnnotationAttributeExtractor;
            8   10     4             handler  Ljava/lang/reflect/InvocationHandler;
            9   10     5   exposedInterfaces  [Ljava/lang/Class;
    Signature: <A::Ljava/lang/annotation/Annotation;>(TA;Ljava/lang/Object;)TA;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotation        
      annotatedElement  

  public static <A extends java.lang.annotation.Annotation> A synthesizeAnnotation(java.util.Map<java.lang.String, java.lang.Object>, java.lang.Class<A>, java.lang.reflect.AnnotatedElement);
    descriptor: (Ljava/util/Map;Ljava/lang/Class;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.util.Map attributes
        start local 1 // java.lang.Class annotationType
        start local 2 // java.lang.reflect.AnnotatedElement annotatedElement
         0: .line 1603
            new org.springframework.core.annotation.MapAnnotationAttributeExtractor
            dup
            aload 0 /* attributes */
            aload 1 /* annotationType */
            aload 2 /* annotatedElement */
            invokespecial org.springframework.core.annotation.MapAnnotationAttributeExtractor.<init>:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/reflect/AnnotatedElement;)V
         1: .line 1602
            astore 3 /* attributeExtractor */
        start local 3 // org.springframework.core.annotation.MapAnnotationAttributeExtractor attributeExtractor
         2: .line 1604
            new org.springframework.core.annotation.SynthesizedAnnotationInvocationHandler
            dup
            aload 3 /* attributeExtractor */
            invokespecial org.springframework.core.annotation.SynthesizedAnnotationInvocationHandler.<init>:(Lorg/springframework/core/annotation/AnnotationAttributeExtractor;)V
            astore 4 /* handler */
        start local 4 // java.lang.reflect.InvocationHandler handler
         3: .line 1605
            aload 1 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.canExposeSynthesizedMarker:(Ljava/lang/Class;)Z
            ifeq 5
         4: .line 1606
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 1 /* annotationType */
            aastore
            dup
            iconst_1
            ldc Lorg/springframework/core/annotation/SynthesizedAnnotation;
            aastore
            goto 6
      StackMap locals: org.springframework.core.annotation.MapAnnotationAttributeExtractor java.lang.reflect.InvocationHandler
      StackMap stack:
         5: iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 1 /* annotationType */
            aastore
         6: .line 1605
      StackMap locals:
      StackMap stack: java.lang.Class[]
            astore 5 /* exposedInterfaces */
        start local 5 // java.lang.Class[] exposedInterfaces
         7: .line 1607
            aload 1 /* annotationType */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 5 /* exposedInterfaces */
            aload 4 /* handler */
            invokestatic java.lang.reflect.Proxy.newProxyInstance:(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            areturn
        end local 5 // java.lang.Class[] exposedInterfaces
        end local 4 // java.lang.reflect.InvocationHandler handler
        end local 3 // org.springframework.core.annotation.MapAnnotationAttributeExtractor attributeExtractor
        end local 2 // java.lang.reflect.AnnotatedElement annotatedElement
        end local 1 // java.lang.Class annotationType
        end local 0 // java.util.Map attributes
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0          attributes  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0    8     1      annotationType  Ljava/lang/Class<TA;>;
            0    8     2    annotatedElement  Ljava/lang/reflect/AnnotatedElement;
            2    8     3  attributeExtractor  Lorg/springframework/core/annotation/MapAnnotationAttributeExtractor;
            3    8     4             handler  Ljava/lang/reflect/InvocationHandler;
            7    8     5   exposedInterfaces  [Ljava/lang/Class;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Ljava/lang/Class<TA;>;Ljava/lang/reflect/AnnotatedElement;)TA;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      attributes        
      annotationType    
      annotatedElement  

  public static <A extends java.lang.annotation.Annotation> A synthesizeAnnotation(java.lang.Class<A>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 1626
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            aload 0 /* annotationType */
            aconst_null
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  annotationType  Ljava/lang/Class<TA;>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Class<TA;>;)TA;
    MethodParameters:
                Name  Flags
      annotationType  

  static java.lang.annotation.Annotation[] synthesizeAnnotationArray(java.lang.annotation.Annotation[], java.lang.Object);
    descriptor: ([Ljava/lang/annotation/Annotation;Ljava/lang/Object;)[Ljava/lang/annotation/Annotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.annotation.Annotation[] annotations
        start local 1 // java.lang.Object annotatedElement
         0: .line 1646
            aload 1 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.hasPlainJavaAnnotationsOnly:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1647
            aload 0 /* annotations */
            areturn
         2: .line 1651
      StackMap locals:
      StackMap stack:
            aload 0 /* annotations */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            aload 0 /* annotations */
            arraylength
         3: .line 1650
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation[]
            astore 2 /* synthesized */
        start local 2 // java.lang.annotation.Annotation[] synthesized
         4: .line 1652
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 1653
      StackMap locals: java.lang.annotation.Annotation[] int
      StackMap stack:
            aload 2 /* synthesized */
            iload 3 /* i */
            aload 0 /* annotations */
            iload 3 /* i */
            aaload
            aload 1 /* annotatedElement */
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/lang/annotation/Annotation;Ljava/lang/Object;)Ljava/lang/annotation/Annotation;
            aastore
         7: .line 1652
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* annotations */
            arraylength
            if_icmplt 6
        end local 3 // int i
         9: .line 1655
            aload 2 /* synthesized */
            areturn
        end local 2 // java.lang.annotation.Annotation[] synthesized
        end local 1 // java.lang.Object annotatedElement
        end local 0 // java.lang.annotation.Annotation[] annotations
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0       annotations  [Ljava/lang/annotation/Annotation;
            0   10     1  annotatedElement  Ljava/lang/Object;
            4   10     2       synthesized  [Ljava/lang/annotation/Annotation;
            5    9     3                 i  I
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                  Name  Flags
      annotations       
      annotatedElement  

  static <A extends java.lang.annotation.Annotation> A[] synthesizeAnnotationArray(java.util.Map<java.lang.String, java.lang.Object>[], java.lang.Class<A>);
    descriptor: ([Ljava/util/Map;Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.util.Map[] maps
        start local 1 // java.lang.Class annotationType
         0: .line 1680
            aload 0 /* maps */
            ifnonnull 2
         1: .line 1681
            aconst_null
            areturn
         2: .line 1684
      StackMap locals:
      StackMap stack:
            aload 1 /* annotationType */
            aload 0 /* maps */
            arraylength
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation[]
            astore 2 /* synthesized */
        start local 2 // java.lang.annotation.Annotation[] synthesized
         3: .line 1685
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 1686
      StackMap locals: java.lang.annotation.Annotation[] int
      StackMap stack:
            aload 2 /* synthesized */
            iload 3 /* i */
            aload 0 /* maps */
            iload 3 /* i */
            aaload
            aload 1 /* annotationType */
            aconst_null
            invokestatic org.springframework.core.annotation.AnnotationUtils.synthesizeAnnotation:(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/reflect/AnnotatedElement;)Ljava/lang/annotation/Annotation;
            aastore
         6: .line 1685
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* maps */
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 1688
            aload 2 /* synthesized */
            areturn
        end local 2 // java.lang.annotation.Annotation[] synthesized
        end local 1 // java.lang.Class annotationType
        end local 0 // java.util.Map[] maps
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            maps  [Ljava/util/Map;
            0    9     1  annotationType  Ljava/lang/Class<TA;>;
            3    9     2     synthesized  [Ljava/lang/annotation/Annotation;
            4    8     3               i  I
    Signature: <A::Ljava/lang/annotation/Annotation;>([Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Ljava/lang/Class<TA;>;)[TA;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
                Name  Flags
      maps            
      annotationType  

  static java.util.Map<java.lang.String, java.util.List<java.lang.String>> getAttributeAliasMap(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 1711
            aload 0 /* annotationType */
            ifnonnull 2
         1: .line 1712
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
         2: .line 1715
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.core.annotation.AnnotationUtils.attributeAliasesCache:Ljava/util/Map;
            aload 0 /* annotationType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 1 /* map */
        start local 1 // java.util.Map map
         3: .line 1716
            aload 1 /* map */
            ifnull 5
         4: .line 1717
            aload 1 /* map */
            areturn
         5: .line 1720
      StackMap locals: java.util.Map
      StackMap stack:
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 1 /* map */
         6: .line 1721
            aload 0 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeMethods:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: java.lang.Class java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 2 /* attribute */
        start local 2 // java.lang.reflect.Method attribute
         8: .line 1722
            aload 2 /* attribute */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeAliasNames:(Ljava/lang/reflect/Method;)Ljava/util/List;
            astore 4 /* aliasNames */
        start local 4 // java.util.List aliasNames
         9: .line 1723
            aload 4 /* aliasNames */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 11
        10: .line 1724
            aload 1 /* map */
            aload 2 /* attribute */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 4 /* aliasNames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.util.List aliasNames
        end local 2 // java.lang.reflect.Method attribute
        11: .line 1721
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 1728
            getstatic org.springframework.core.annotation.AnnotationUtils.attributeAliasesCache:Ljava/util/Map;
            aload 0 /* annotationType */
            aload 1 /* map */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 1729
            aload 1 /* map */
            areturn
        end local 1 // java.util.Map map
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            3   14     1             map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            8   11     2       attribute  Ljava/lang/reflect/Method;
            9   11     4      aliasNames  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  

  private static boolean canExposeSynthesizedMarker(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 1738
            ldc Lorg/springframework/core/annotation/SynthesizedAnnotation;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_0
            aload 0 /* annotationType */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         1: .line 1739
            ldc Lorg/springframework/core/annotation/SynthesizedAnnotation;
         2: .line 1738
            if_acmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
         4: ireturn
         5: .line 1741
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
         6: .line 1742
            iconst_0
            ireturn
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    MethodParameters:
                Name  Flags
      annotationType  

  private static boolean isSynthesizable(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 1761
            aload 0 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.hasPlainJavaAnnotationsOnly:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1762
            iconst_0
            ireturn
         2: .line 1765
      StackMap locals:
      StackMap stack:
            getstatic org.springframework.core.annotation.AnnotationUtils.synthesizableCache:Ljava/util/Map;
            aload 0 /* annotationType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 1 /* synthesizable */
        start local 1 // java.lang.Boolean synthesizable
         3: .line 1766
            aload 1 /* synthesizable */
            ifnull 5
         4: .line 1767
            aload 1 /* synthesizable */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
         5: .line 1770
      StackMap locals: java.lang.Boolean
      StackMap stack:
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            astore 1 /* synthesizable */
         6: .line 1771
            aload 0 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeMethods:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 23
      StackMap locals: java.lang.Class java.lang.Boolean top java.util.Iterator
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 2 /* attribute */
        start local 2 // java.lang.reflect.Method attribute
         8: .line 1772
            aload 2 /* attribute */
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAttributeAliasNames:(Ljava/lang/reflect/Method;)Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 11
         9: .line 1773
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            astore 1 /* synthesizable */
        10: .line 1774
            goto 24
        11: .line 1776
      StackMap locals: java.lang.Class java.lang.Boolean java.lang.reflect.Method java.util.Iterator
      StackMap stack:
            aload 2 /* attribute */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 4 /* returnType */
        start local 4 // java.lang.Class returnType
        12: .line 1777
            ldc [Ljava/lang/annotation/Annotation;
            aload 4 /* returnType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 18
        13: .line 1779
            aload 4 /* returnType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
        14: .line 1778
            astore 5 /* nestedAnnotationType */
        start local 5 // java.lang.Class nestedAnnotationType
        15: .line 1780
            aload 5 /* nestedAnnotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isSynthesizable:(Ljava/lang/Class;)Z
            ifeq 23
        16: .line 1781
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            astore 1 /* synthesizable */
        17: .line 1782
            goto 24
        end local 5 // java.lang.Class nestedAnnotationType
        18: .line 1785
      StackMap locals: java.lang.Class
      StackMap stack:
            ldc Ljava/lang/annotation/Annotation;
            aload 4 /* returnType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 23
        19: .line 1786
            aload 4 /* returnType */
            astore 5 /* nestedAnnotationType */
        start local 5 // java.lang.Class nestedAnnotationType
        20: .line 1787
            aload 5 /* nestedAnnotationType */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isSynthesizable:(Ljava/lang/Class;)Z
            ifeq 23
        21: .line 1788
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            astore 1 /* synthesizable */
        22: .line 1789
            goto 24
        end local 5 // java.lang.Class nestedAnnotationType
        end local 4 // java.lang.Class returnType
        end local 2 // java.lang.reflect.Method attribute
        23: .line 1771
      StackMap locals: java.lang.Class java.lang.Boolean top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        24: .line 1794
      StackMap locals: java.lang.Class java.lang.Boolean
      StackMap stack:
            getstatic org.springframework.core.annotation.AnnotationUtils.synthesizableCache:Ljava/util/Map;
            aload 0 /* annotationType */
            aload 1 /* synthesizable */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 1795
            aload 1 /* synthesizable */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 1 // java.lang.Boolean synthesizable
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   26     0        annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            3   26     1         synthesizable  Ljava/lang/Boolean;
            8   23     2             attribute  Ljava/lang/reflect/Method;
           12   23     4            returnType  Ljava/lang/Class<*>;
           15   18     5  nestedAnnotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
           20   23     5  nestedAnnotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Z
    MethodParameters:
                Name  Flags
      annotationType  

  static java.util.List<java.lang.String> getAttributeAliasNames(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.reflect.Method attribute
         0: .line 1812
            aload 0 /* attribute */
            invokestatic org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.from:(Ljava/lang/reflect/Method;)Lorg/springframework/core/annotation/AnnotationUtils$AliasDescriptor;
            astore 1 /* descriptor */
        start local 1 // org.springframework.core.annotation.AnnotationUtils$AliasDescriptor descriptor
         1: .line 1813
            aload 1 /* descriptor */
            ifnull 2
            aload 1 /* descriptor */
            invokevirtual org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.getAttributeAliasNames:()Ljava/util/List;
            goto 3
      StackMap locals: org.springframework.core.annotation.AnnotationUtils$AliasDescriptor
      StackMap stack:
         2: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
         3: areturn
        end local 1 // org.springframework.core.annotation.AnnotationUtils$AliasDescriptor descriptor
        end local 0 // java.lang.reflect.Method attribute
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0   attribute  Ljava/lang/reflect/Method;
            1    4     1  descriptor  Lorg/springframework/core/annotation/AnnotationUtils$AliasDescriptor;
    Signature: (Ljava/lang/reflect/Method;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      attribute  

  static java.lang.String getAttributeOverrideName(java.lang.reflect.Method, java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.reflect.Method attribute
        start local 1 // java.lang.Class metaAnnotationType
         0: .line 1834
            aload 0 /* attribute */
            invokestatic org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.from:(Ljava/lang/reflect/Method;)Lorg/springframework/core/annotation/AnnotationUtils$AliasDescriptor;
            astore 2 /* descriptor */
        start local 2 // org.springframework.core.annotation.AnnotationUtils$AliasDescriptor descriptor
         1: .line 1835
            aload 2 /* descriptor */
            ifnull 3
            aload 1 /* metaAnnotationType */
            ifnull 3
         2: .line 1836
            aload 2 /* descriptor */
            aload 1 /* metaAnnotationType */
            invokevirtual org.springframework.core.annotation.AnnotationUtils$AliasDescriptor.getAttributeOverrideName:(Ljava/lang/Class;)Ljava/lang/String;
            goto 4
      StackMap locals: org.springframework.core.annotation.AnnotationUtils$AliasDescriptor
      StackMap stack:
         3: aconst_null
         4: .line 1835
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 2 // org.springframework.core.annotation.AnnotationUtils$AliasDescriptor descriptor
        end local 1 // java.lang.Class metaAnnotationType
        end local 0 // java.lang.reflect.Method attribute
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0           attribute  Ljava/lang/reflect/Method;
            0    5     1  metaAnnotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1    5     2          descriptor  Lorg/springframework/core/annotation/AnnotationUtils$AliasDescriptor;
    Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                    Name  Flags
      attribute           
      metaAnnotationType  

  static java.util.List<java.lang.reflect.Method> getAttributeMethods(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 1851
            getstatic org.springframework.core.annotation.AnnotationUtils.attributeMethodsCache:Ljava/util/Map;
            aload 0 /* annotationType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 1 /* methods */
        start local 1 // java.util.List methods
         1: .line 1852
            aload 1 /* methods */
            ifnull 3
         2: .line 1853
            aload 1 /* methods */
            areturn
         3: .line 1856
      StackMap locals: java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* methods */
         4: .line 1857
            aload 0 /* annotationType */
            invokevirtual java.lang.Class.getDeclaredMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: java.lang.Class java.util.List top int int java.lang.reflect.Method[]
      StackMap stack:
         5: aload 5
            iload 3
            aaload
            astore 2 /* method */
        start local 2 // java.lang.reflect.Method method
         6: .line 1858
            aload 2 /* method */
            invokestatic org.springframework.core.annotation.AnnotationUtils.isAttributeMethod:(Ljava/lang/reflect/Method;)Z
            ifeq 9
         7: .line 1859
            aload 2 /* method */
            invokestatic org.springframework.util.ReflectionUtils.makeAccessible:(Ljava/lang/reflect/Method;)V
         8: .line 1860
            aload 1 /* methods */
            aload 2 /* method */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // java.lang.reflect.Method method
         9: .line 1857
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 5
        11: .line 1864
            getstatic org.springframework.core.annotation.AnnotationUtils.attributeMethodsCache:Ljava/util/Map;
            aload 0 /* annotationType */
            aload 1 /* methods */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1865
            aload 1 /* methods */
            areturn
        end local 1 // java.util.List methods
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1   13     1         methods  Ljava/util/List<Ljava/lang/reflect/Method;>;
            6    9     2          method  Ljava/lang/reflect/Method;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/util/List<Ljava/lang/reflect/Method;>;
    MethodParameters:
                Name  Flags
      annotationType  

  static java.lang.annotation.Annotation getAnnotation(java.lang.reflect.AnnotatedElement, java.lang.String);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/String;)Ljava/lang/annotation/Annotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.reflect.AnnotatedElement element
        start local 1 // java.lang.String annotationName
         0: .line 1879
            aload 0 /* element */
            invokeinterface java.lang.reflect.AnnotatedElement.getAnnotations:()[Ljava/lang/annotation/Annotation;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.reflect.AnnotatedElement java.lang.String top int int java.lang.annotation.Annotation[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* annotation */
        start local 2 // java.lang.annotation.Annotation annotation
         2: .line 1880
            aload 2 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 1 /* annotationName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1881
            aload 2 /* annotation */
            areturn
        end local 2 // java.lang.annotation.Annotation annotation
         4: .line 1879
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 1884
            aconst_null
            areturn
        end local 1 // java.lang.String annotationName
        end local 0 // java.lang.reflect.AnnotatedElement element
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0         element  Ljava/lang/reflect/AnnotatedElement;
            0    7     1  annotationName  Ljava/lang/String;
            2    4     2      annotation  Ljava/lang/annotation/Annotation;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      element         
      annotationName  

  static boolean isAttributeMethod(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 1894
            aload 0 /* method */
            ifnull 1
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            ifne 1
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  method  Ljava/lang/reflect/Method;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      method  

  static boolean isAnnotationTypeMethod(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Method method
         0: .line 1904
            aload 0 /* method */
            ifnull 1
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            ldc "annotationType"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* method */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  method  Ljava/lang/reflect/Method;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      method  

  static java.lang.Class<? extends java.lang.annotation.Annotation> resolveContainerAnnotationType(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class annotationType
         0: .line 1917
            aload 0 /* annotationType */
            ldc Ljava/lang/annotation/Repeatable;
            invokestatic org.springframework.core.annotation.AnnotationUtils.getAnnotation:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast java.lang.annotation.Repeatable
            astore 1 /* repeatable */
        start local 1 // java.lang.annotation.Repeatable repeatable
         1: .line 1918
            aload 1 /* repeatable */
            ifnull 2
            aload 1 /* repeatable */
            invokeinterface java.lang.annotation.Repeatable.value:()Ljava/lang/Class;
            goto 3
      StackMap locals: java.lang.annotation.Repeatable
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Class
         3: areturn
        end local 1 // java.lang.annotation.Repeatable repeatable
        end local 0 // java.lang.Class annotationType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            1    4     1      repeatable  Ljava/lang/annotation/Repeatable;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      annotationType  

  static void rethrowAnnotationConfigurationException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable ex
         0: .line 1930
            aload 0 /* ex */
            instanceof org.springframework.core.annotation.AnnotationConfigurationException
            ifeq 2
         1: .line 1931
            aload 0 /* ex */
            checkcast org.springframework.core.annotation.AnnotationConfigurationException
            athrow
         2: .line 1933
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.Throwable ex
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    

  static void handleIntrospectionFailure(java.lang.reflect.AnnotatedElement, java.lang.Throwable);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Throwable;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.reflect.AnnotatedElement element
        start local 1 // java.lang.Throwable ex
         0: .line 1950
            aload 1 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.rethrowAnnotationConfigurationException:(Ljava/lang/Throwable;)V
         1: .line 1952
            getstatic org.springframework.core.annotation.AnnotationUtils.logger:Lorg/apache/commons/logging/Log;
            astore 2 /* loggerToUse */
        start local 2 // org.apache.commons.logging.Log loggerToUse
         2: .line 1953
            aload 2 /* loggerToUse */
            ifnonnull 5
         3: .line 1954
            ldc Lorg/springframework/core/annotation/AnnotationUtils;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            astore 2 /* loggerToUse */
         4: .line 1955
            aload 2 /* loggerToUse */
            putstatic org.springframework.core.annotation.AnnotationUtils.logger:Lorg/apache/commons/logging/Log;
         5: .line 1957
      StackMap locals: org.apache.commons.logging.Log
      StackMap stack:
            aload 0 /* element */
            instanceof java.lang.Class
            ifeq 9
            ldc Ljava/lang/annotation/Annotation;
            aload 0 /* element */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 9
         6: .line 1959
            aload 2 /* loggerToUse */
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 11
         7: .line 1960
            aload 2 /* loggerToUse */
            new java.lang.StringBuilder
            dup
            ldc "Failed to meta-introspect annotation "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* element */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         8: .line 1962
            goto 11
         9: .line 1965
      StackMap locals:
      StackMap stack:
            aload 2 /* loggerToUse */
            invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
            ifeq 11
        10: .line 1966
            aload 2 /* loggerToUse */
            new java.lang.StringBuilder
            dup
            ldc "Failed to introspect annotations on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* element */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
        11: .line 1969
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.commons.logging.Log loggerToUse
        end local 1 // java.lang.Throwable ex
        end local 0 // java.lang.reflect.AnnotatedElement element
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      element  Ljava/lang/reflect/AnnotatedElement;
            0   12     1           ex  Ljava/lang/Throwable;
            2   12     2  loggerToUse  Lorg/apache/commons/logging/Log;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
         Name  Flags
      element  
      ex       

  public static void clearCache();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1976
            getstatic org.springframework.core.annotation.AnnotationUtils.findAnnotationCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         1: .line 1977
            getstatic org.springframework.core.annotation.AnnotationUtils.metaPresentCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 1978
            getstatic org.springframework.core.annotation.AnnotationUtils.declaredAnnotationsCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         3: .line 1979
            getstatic org.springframework.core.annotation.AnnotationUtils.annotatedBaseTypeCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         4: .line 1980
            getstatic org.springframework.core.annotation.AnnotationUtils.synthesizableCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 1981
            getstatic org.springframework.core.annotation.AnnotationUtils.attributeAliasesCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         6: .line 1982
            getstatic org.springframework.core.annotation.AnnotationUtils.attributeMethodsCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         7: .line 1983
            getstatic org.springframework.core.annotation.AnnotationUtils.aliasDescriptorCache:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         8: .line 1984
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$1(java.util.Set, org.springframework.core.annotation.AnnotationAttributes, java.lang.Object, boolean, boolean, java.lang.String, java.util.List);
    descriptor: (Ljava/util/Set;Lorg/springframework/core/annotation/AnnotationAttributes;Ljava/lang/Object;ZZLjava/lang/String;Ljava/util/List;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=14, args_size=7
        start local 5 // java.lang.String attributeName
        start local 6 // java.util.List aliasedAttributeNames
         0: .line 1337
            aload 0
            aload 5 /* attributeName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1338
            return
         2: .line 1340
      StackMap locals:
      StackMap stack:
            aload 1
            aload 5 /* attributeName */
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
         3: .line 1341
            aload 7 /* value */
            ifnull 4
            aload 7 /* value */
            instanceof org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
            ifne 4
            iconst_1
            goto 5
      StackMap locals: java.lang.Object
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 8 /* valuePresent */
        start local 8 // boolean valuePresent
         6: .line 1342
            aload 6 /* aliasedAttributeNames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 36
      StackMap locals: java.util.Set org.springframework.core.annotation.AnnotationAttributes java.lang.Object int int java.lang.String java.util.List java.lang.Object int top java.util.Iterator
      StackMap stack:
         7: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* aliasedAttributeName */
        start local 9 // java.lang.String aliasedAttributeName
         8: .line 1343
            aload 0
            aload 9 /* aliasedAttributeName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1344
            goto 36
        10: .line 1346
      StackMap locals: java.util.Set org.springframework.core.annotation.AnnotationAttributes java.lang.Object int int java.lang.String java.util.List java.lang.Object int java.lang.String java.util.Iterator
      StackMap stack:
            aload 1
            aload 9 /* aliasedAttributeName */
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 11 /* aliasedValue */
        start local 11 // java.lang.Object aliasedValue
        11: .line 1347
            aload 11 /* aliasedValue */
            ifnull 12
            aload 11 /* aliasedValue */
            instanceof org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
            ifne 12
            iconst_1
            goto 13
      StackMap locals: java.lang.Object
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 12 /* aliasPresent */
        start local 12 // boolean aliasPresent
        14: .line 1349
            iload 8 /* valuePresent */
            ifne 15
            iload 12 /* aliasPresent */
            ifeq 36
        15: .line 1350
      StackMap locals: int
      StackMap stack:
            iload 8 /* valuePresent */
            ifeq 26
            iload 12 /* aliasPresent */
            ifeq 26
        16: .line 1352
            aload 7 /* value */
            aload 11 /* aliasedValue */
            invokestatic org.springframework.util.ObjectUtils.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifne 36
        17: .line 1354
            aload 2
            ifnull 18
            aload 2
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 19
      StackMap locals:
      StackMap stack:
        18: ldc "unknown element"
        19: .line 1353
      StackMap locals:
      StackMap stack: java.lang.String
            astore 13 /* elementAsString */
        start local 13 // java.lang.String elementAsString
        20: .line 1355
            new org.springframework.core.annotation.AnnotationConfigurationException
            dup
        21: .line 1356
            ldc "In AnnotationAttributes for annotation [%s] declared on %s, attribute '%s' and its alias '%s' are declared with values of [%s] and [%s], but only one is permitted."
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 1358
            aload 1
            getfield org.springframework.core.annotation.AnnotationAttributes.displayName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 13 /* elementAsString */
            aastore
            dup
            iconst_2
        23: .line 1359
            aload 5 /* attributeName */
            aastore
            dup
            iconst_3
            aload 9 /* aliasedAttributeName */
            aastore
            dup
            iconst_4
            aload 7 /* value */
            invokestatic org.springframework.util.ObjectUtils.nullSafeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_5
        24: .line 1360
            aload 11 /* aliasedValue */
            invokestatic org.springframework.util.ObjectUtils.nullSafeToString:(Ljava/lang/Object;)Ljava/lang/String;
            aastore
        25: .line 1355
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.springframework.core.annotation.AnnotationConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.lang.String elementAsString
        26: .line 1363
      StackMap locals:
      StackMap stack:
            iload 12 /* aliasPresent */
            ifeq 32
        27: .line 1365
            aload 1
            aload 5 /* attributeName */
        28: .line 1366
            aload 2
            aload 11 /* aliasedValue */
            iload 3
            iload 4
            invokestatic org.springframework.core.annotation.AnnotationUtils.adaptValue:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;
        29: .line 1365
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 1367
            aload 0
            aload 5 /* attributeName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        31: .line 1368
            goto 36
        32: .line 1371
      StackMap locals:
      StackMap stack:
            aload 1
            aload 9 /* aliasedAttributeName */
        33: .line 1372
            aload 2
            aload 7 /* value */
            iload 3
            iload 4
            invokestatic org.springframework.core.annotation.AnnotationUtils.adaptValue:(Ljava/lang/Object;Ljava/lang/Object;ZZ)Ljava/lang/Object;
        34: .line 1371
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 1373
            aload 0
            aload 9 /* aliasedAttributeName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // boolean aliasPresent
        end local 11 // java.lang.Object aliasedValue
        end local 9 // java.lang.String aliasedAttributeName
        36: .line 1342
      StackMap locals: java.util.Set org.springframework.core.annotation.AnnotationAttributes java.lang.Object int int java.lang.String java.util.List java.lang.Object int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 8 // boolean valuePresent
        end local 7 // java.lang.Object value
        37: .line 1377
            return
        end local 6 // java.util.List aliasedAttributeNames
        end local 5 // java.lang.String attributeName
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   38     5          attributeName  Ljava/lang/String;
            0   38     6  aliasedAttributeNames  Ljava/util/List<Ljava/lang/String;>;
            3   37     7                  value  Ljava/lang/Object;
            6   37     8           valuePresent  Z
            8   36     9   aliasedAttributeName  Ljava/lang/String;
           11   36    11           aliasedValue  Ljava/lang/Object;
           14   36    12           aliasPresent  Z
           20   26    13        elementAsString  Ljava/lang/String;
}
SourceFile: "AnnotationUtils.java"
NestMembers:
  org.springframework.core.annotation.AnnotationUtils$AliasDescriptor  org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey  org.springframework.core.annotation.AnnotationUtils$AnnotationCollector  org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private final AliasDescriptor = org.springframework.core.annotation.AnnotationUtils$AliasDescriptor of org.springframework.core.annotation.AnnotationUtils
  private final AnnotationCacheKey = org.springframework.core.annotation.AnnotationUtils$AnnotationCacheKey of org.springframework.core.annotation.AnnotationUtils
  private AnnotationCollector = org.springframework.core.annotation.AnnotationUtils$AnnotationCollector of org.springframework.core.annotation.AnnotationUtils
  private DefaultValueHolder = org.springframework.core.annotation.AnnotationUtils$DefaultValueHolder of org.springframework.core.annotation.AnnotationUtils