final class org.springframework.core.annotation.TypeMappedAnnotation<A extends java.lang.annotation.Annotation> extends org.springframework.core.annotation.AbstractMergedAnnotation<A>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.springframework.core.annotation.TypeMappedAnnotation
  super_class: org.springframework.core.annotation.AbstractMergedAnnotation
{
  private static final java.util.Map<java.lang.Class<?>, java.lang.Object> EMPTY_ARRAYS;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/Object;>;

  private final org.springframework.core.annotation.AnnotationTypeMapping mapping;
    descriptor: Lorg/springframework/core/annotation/AnnotationTypeMapping;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.ClassLoader classLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final java.lang.Object source;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final java.lang.Object rootAttributes;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final org.springframework.core.annotation.ValueExtractor valueExtractor;
    descriptor: Lorg/springframework/core/annotation/ValueExtractor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int aggregateIndex;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean useMergedValues;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.function.Predicate<java.lang.String> attributeFilter;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private final int[] resolvedRootMirrors;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] resolvedMirrors;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 75
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* emptyArrays */
        start local 0 // java.util.Map emptyArrays
         1: .line 76
            aload 0 /* emptyArrays */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 4
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 77
            aload 0 /* emptyArrays */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 8
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 78
            aload 0 /* emptyArrays */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 5
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 79
            aload 0 /* emptyArrays */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 7
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 80
            aload 0 /* emptyArrays */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 6
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 81
            aload 0 /* emptyArrays */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 10
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 82
            aload 0 /* emptyArrays */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 11
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 83
            aload 0 /* emptyArrays */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            iconst_0
            newarray 9
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 84
            aload 0 /* emptyArrays */
            ldc Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 85
            aload 0 /* emptyArrays */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putstatic org.springframework.core.annotation.TypeMappedAnnotation.EMPTY_ARRAYS:Ljava/util/Map;
        end local 0 // java.util.Map emptyArrays
        11: .line 86
            return
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1   11     0  emptyArrays  Ljava/util/Map<Ljava/lang/Class<*>;Ljava/lang/Object;>;

  private void <init>(org.springframework.core.annotation.AnnotationTypeMapping, java.lang.ClassLoader, java.lang.Object, java.lang.Object, org.springframework.core.annotation.ValueExtractor, int);
    descriptor: (Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        start local 2 // java.lang.ClassLoader classLoader
        start local 3 // java.lang.Object source
        start local 4 // java.lang.Object rootAttributes
        start local 5 // org.springframework.core.annotation.ValueExtractor valueExtractor
        start local 6 // int aggregateIndex
         0: .line 118
            aload 0 /* this */
            aload 1 /* mapping */
            aload 2 /* classLoader */
            aload 3 /* source */
            aload 4 /* rootAttributes */
            aload 5 /* valueExtractor */
            iload 6 /* aggregateIndex */
            aconst_null
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I[I)V
         1: .line 119
            return
        end local 6 // int aggregateIndex
        end local 5 // org.springframework.core.annotation.ValueExtractor valueExtractor
        end local 4 // java.lang.Object rootAttributes
        end local 3 // java.lang.Object source
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    2     1         mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
            0    2     2     classLoader  Ljava/lang/ClassLoader;
            0    2     3          source  Ljava/lang/Object;
            0    2     4  rootAttributes  Ljava/lang/Object;
            0    2     5  valueExtractor  Lorg/springframework/core/annotation/ValueExtractor;
            0    2     6  aggregateIndex  I
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
      3:
        org.springframework.lang.Nullable()
      4:
      5:
    MethodParameters:
                Name  Flags
      mapping         
      classLoader     
      source          
      rootAttributes  
      valueExtractor  
      aggregateIndex  

  private void <init>(org.springframework.core.annotation.AnnotationTypeMapping, java.lang.ClassLoader, java.lang.Object, java.lang.Object, org.springframework.core.annotation.ValueExtractor, int, int[]);
    descriptor: (Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=8
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        start local 2 // java.lang.ClassLoader classLoader
        start local 3 // java.lang.Object source
        start local 4 // java.lang.Object rootAttributes
        start local 5 // org.springframework.core.annotation.ValueExtractor valueExtractor
        start local 6 // int aggregateIndex
        start local 7 // int[] resolvedRootMirrors
         0: .line 121
            aload 0 /* this */
            invokespecial org.springframework.core.annotation.AbstractMergedAnnotation.<init>:()V
         1: .line 125
            aload 0 /* this */
            aload 1 /* mapping */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
         2: .line 126
            aload 0 /* this */
            aload 2 /* classLoader */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
         3: .line 127
            aload 0 /* this */
            aload 3 /* source */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
         4: .line 128
            aload 0 /* this */
            aload 4 /* rootAttributes */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
         5: .line 129
            aload 0 /* this */
            aload 5 /* valueExtractor */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
         6: .line 130
            aload 0 /* this */
            iload 6 /* aggregateIndex */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
         7: .line 131
            aload 0 /* this */
            iconst_1
            putfield org.springframework.core.annotation.TypeMappedAnnotation.useMergedValues:Z
         8: .line 132
            aload 0 /* this */
            aconst_null
            putfield org.springframework.core.annotation.TypeMappedAnnotation.attributeFilter:Ljava/util/function/Predicate;
         9: .line 133
            aload 0 /* this */
            aload 7 /* resolvedRootMirrors */
            ifnull 10
            aload 7 /* resolvedRootMirrors */
            goto 11
        10: .line 134
      StackMap locals: org.springframework.core.annotation.TypeMappedAnnotation org.springframework.core.annotation.AnnotationTypeMapping java.lang.ClassLoader java.lang.Object java.lang.Object org.springframework.core.annotation.ValueExtractor int int[]
      StackMap stack: org.springframework.core.annotation.TypeMappedAnnotation
            aload 1 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getRoot:()Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getMirrorSets:()Lorg/springframework/core/annotation/AnnotationTypeMapping$MirrorSets;
            aload 3 /* source */
            aload 4 /* rootAttributes */
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping$MirrorSets.resolve:(Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;)[I
        11: .line 133
      StackMap locals: org.springframework.core.annotation.TypeMappedAnnotation org.springframework.core.annotation.AnnotationTypeMapping java.lang.ClassLoader java.lang.Object java.lang.Object org.springframework.core.annotation.ValueExtractor int int[]
      StackMap stack: org.springframework.core.annotation.TypeMappedAnnotation int[]
            putfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
        12: .line 135
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getDistance:()I
            ifne 13
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
            goto 14
        13: .line 136
      StackMap locals:
      StackMap stack: org.springframework.core.annotation.TypeMappedAnnotation
            aload 1 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getMirrorSets:()Lorg/springframework/core/annotation/AnnotationTypeMapping$MirrorSets;
            aload 3 /* source */
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic extract(Lorg/springframework/core/annotation/TypeMappedAnnotation;)Lorg/springframework/core/annotation/ValueExtractor;
              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/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/core/annotation/TypeMappedAnnotation.getValueForMirrorResolution(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object; (7)
                  (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping$MirrorSets.resolve:(Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;)[I
        14: .line 135
      StackMap locals: org.springframework.core.annotation.TypeMappedAnnotation org.springframework.core.annotation.AnnotationTypeMapping java.lang.ClassLoader java.lang.Object java.lang.Object org.springframework.core.annotation.ValueExtractor int int[]
      StackMap stack: org.springframework.core.annotation.TypeMappedAnnotation int[]
            putfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedMirrors:[I
        15: .line 137
            return
        end local 7 // int[] resolvedRootMirrors
        end local 6 // int aggregateIndex
        end local 5 // org.springframework.core.annotation.ValueExtractor valueExtractor
        end local 4 // java.lang.Object rootAttributes
        end local 3 // java.lang.Object source
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   16     0                 this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0   16     1              mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
            0   16     2          classLoader  Ljava/lang/ClassLoader;
            0   16     3               source  Ljava/lang/Object;
            0   16     4       rootAttributes  Ljava/lang/Object;
            0   16     5       valueExtractor  Lorg/springframework/core/annotation/ValueExtractor;
            0   16     6       aggregateIndex  I
            0   16     7  resolvedRootMirrors  [I
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
      3:
        org.springframework.lang.Nullable()
      4:
      5:
      6:
        org.springframework.lang.Nullable()
    MethodParameters:
                     Name  Flags
      mapping              
      classLoader          
      source               
      rootAttributes       
      valueExtractor       
      aggregateIndex       
      resolvedRootMirrors  

  private void <init>(org.springframework.core.annotation.AnnotationTypeMapping, java.lang.ClassLoader, , , org.springframework.core.annotation.ValueExtractor, int, boolean, java.util.function.Predicate<java.lang.String>, int[], );
    descriptor: (Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;IZLjava/util/function/Predicate;[I[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=11, args_size=11
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        start local 2 // java.lang.ClassLoader classLoader
        start local 3 // java.lang.Object source
        start local 4 // java.lang.Object rootAnnotation
        start local 5 // org.springframework.core.annotation.ValueExtractor valueExtractor
        start local 6 // int aggregateIndex
        start local 7 // boolean useMergedValues
        start local 8 // java.util.function.Predicate attributeFilter
        start local 9 // int[] resolvedRootMirrors
        start local 10 // int[] resolvedMirrors
         0: .line 139
            aload 0 /* this */
            invokespecial org.springframework.core.annotation.AbstractMergedAnnotation.<init>:()V
         1: .line 144
            aload 0 /* this */
            aload 2 /* classLoader */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
         2: .line 145
            aload 0 /* this */
            aload 3 /* source */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
         3: .line 146
            aload 0 /* this */
            aload 4 /* rootAnnotation */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
         4: .line 147
            aload 0 /* this */
            aload 5 /* valueExtractor */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
         5: .line 148
            aload 0 /* this */
            aload 1 /* mapping */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
         6: .line 149
            aload 0 /* this */
            iload 6 /* aggregateIndex */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
         7: .line 150
            aload 0 /* this */
            iload 7 /* useMergedValues */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.useMergedValues:Z
         8: .line 151
            aload 0 /* this */
            aload 8 /* attributeFilter */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.attributeFilter:Ljava/util/function/Predicate;
         9: .line 152
            aload 0 /* this */
            aload 9 /* resolvedRootMirrors */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
        10: .line 153
            aload 0 /* this */
            aload 10 /* resolvedMirrors */
            putfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedMirrors:[I
        11: .line 154
            return
        end local 10 // int[] resolvedMirrors
        end local 9 // int[] resolvedRootMirrors
        end local 8 // java.util.function.Predicate attributeFilter
        end local 7 // boolean useMergedValues
        end local 6 // int aggregateIndex
        end local 5 // org.springframework.core.annotation.ValueExtractor valueExtractor
        end local 4 // java.lang.Object rootAnnotation
        end local 3 // java.lang.Object source
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   12     0                 this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0   12     1              mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
            0   12     2          classLoader  Ljava/lang/ClassLoader;
            0   12     3               source  Ljava/lang/Object;
            0   12     4       rootAnnotation  Ljava/lang/Object;
            0   12     5       valueExtractor  Lorg/springframework/core/annotation/ValueExtractor;
            0   12     6       aggregateIndex  I
            0   12     7      useMergedValues  Z
            0   12     8      attributeFilter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            0   12     9  resolvedRootMirrors  [I
            0   12    10      resolvedMirrors  [I
    Signature: (Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;IZLjava/util/function/Predicate<Ljava/lang/String;>;[I[I)V
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
      3:
        org.springframework.lang.Nullable()
      4:
      5:
      6:
      7:
        org.springframework.lang.Nullable()
      8:
      9:
    MethodParameters:
                     Name  Flags
      mapping              
      classLoader          
      source               
      rootAnnotation       
      valueExtractor       
      aggregateIndex       
      useMergedValues      
      attributeFilter      
      resolvedRootMirrors  
      resolvedMirrors      

  public java.lang.Class<A> getType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 160
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAnnotationType:()Ljava/lang/Class;
            areturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    Signature: ()Ljava/lang/Class<TA;>;

  public java.util.List<java.lang.Class<? extends java.lang.annotation.Annotation>> getMetaTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 165
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getMetaTypes:()Ljava/util/List;
            areturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    Signature: ()Ljava/util/List<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  public boolean isPresent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 170
            iconst_1
            ireturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;

  public int getDistance();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 175
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getDistance:()I
            ireturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;

  public int getAggregateIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 180
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
            ireturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;

  public java.lang.Object getSource();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 186
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            areturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public org.springframework.core.annotation.MergedAnnotation<?> getMetaSource();
    descriptor: ()Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 192
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getSource:()Lorg/springframework/core/annotation/AnnotationTypeMapping;
            astore 1 /* metaSourceMapping */
        start local 1 // org.springframework.core.annotation.AnnotationTypeMapping metaSourceMapping
         1: .line 193
            aload 1 /* metaSourceMapping */
            ifnonnull 3
         2: .line 194
            aconst_null
            areturn
         3: .line 196
      StackMap locals: org.springframework.core.annotation.AnnotationTypeMapping
      StackMap stack:
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
            aload 1 /* metaSourceMapping */
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
         4: .line 197
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
         5: .line 196
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I[I)V
            areturn
        end local 1 // org.springframework.core.annotation.AnnotationTypeMapping metaSourceMapping
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            1    6     1  metaSourceMapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
    Signature: ()Lorg/springframework/core/annotation/MergedAnnotation<*>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public org.springframework.core.annotation.MergedAnnotation<?> getRoot();
    descriptor: ()Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=2, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 202
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getDistance:()I
            ifne 2
         1: .line 203
            aload 0 /* this */
            areturn
         2: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getRoot:()Lorg/springframework/core/annotation/AnnotationTypeMapping;
            astore 1 /* rootMapping */
        start local 1 // org.springframework.core.annotation.AnnotationTypeMapping rootMapping
         3: .line 206
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
            aload 1 /* rootMapping */
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
         4: .line 207
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
         5: .line 206
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I[I)V
            areturn
        end local 1 // org.springframework.core.annotation.AnnotationTypeMapping rootMapping
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            3    6     1  rootMapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
    Signature: ()Lorg/springframework/core/annotation/MergedAnnotation<*>;

  public boolean hasDefaultValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.String attributeName
         0: .line 212
            aload 0 /* this */
            aload 1 /* attributeName */
            iconst_1
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getAttributeIndex:(Ljava/lang/String;Z)I
            istore 2 /* attributeIndex */
        start local 2 // int attributeIndex
         1: .line 213
            aload 0 /* this */
            iload 2 /* attributeIndex */
            iconst_1
            iconst_0
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValue:(IZZ)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         2: .line 214
            aload 3 /* value */
            ifnull 3
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            iload 2 /* attributeIndex */
            aload 3 /* value */
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.isEquivalentToDefaultValue:(ILjava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;)Z
            ifne 3
            iconst_0
            ireturn
      StackMap locals: int java.lang.Object
      StackMap stack:
         3: iconst_1
            ireturn
        end local 3 // java.lang.Object value
        end local 2 // int attributeIndex
        end local 1 // java.lang.String attributeName
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    4     1   attributeName  Ljava/lang/String;
            1    4     2  attributeIndex  I
            2    4     3           value  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      attributeName  

  public <T extends java.lang.annotation.Annotation> org.springframework.core.annotation.MergedAnnotation<T> getAnnotation(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.String attributeName
        start local 2 // java.lang.Class type
         0: .line 222
            aload 0 /* this */
            aload 1 /* attributeName */
            iconst_1
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getAttributeIndex:(Ljava/lang/String;Z)I
            istore 3 /* attributeIndex */
        start local 3 // int attributeIndex
         1: .line 223
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            iload 3 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AttributeMethods.get:(I)Ljava/lang/reflect/Method;
            astore 4 /* attribute */
        start local 4 // java.lang.reflect.Method attribute
         2: .line 224
            aload 2 /* type */
            ldc "Type must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 225
            aload 2 /* type */
            aload 4 /* attribute */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
         4: .line 226
            aload 1 /* attributeName */
            invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
              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;
                  org/springframework/core/annotation/TypeMappedAnnotation.lambda$1(Ljava/lang/String;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
         5: .line 225
            invokestatic org.springframework.util.Assert.isAssignable:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Supplier;)V
         6: .line 227
            aload 0 /* this */
            iload 3 /* attributeIndex */
            aload 1 /* attributeName */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getRequiredValue:(ILjava/lang/String;)Ljava/lang/Object;
            checkcast org.springframework.core.annotation.MergedAnnotation
            areturn
        end local 4 // java.lang.reflect.Method attribute
        end local 3 // int attributeIndex
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String attributeName
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    7     1   attributeName  Ljava/lang/String;
            0    7     2            type  Ljava/lang/Class<TT;>;
            1    7     3  attributeIndex  I
            2    7     4       attribute  Ljava/lang/reflect/Method;
    Exceptions:
      throws java.util.NoSuchElementException
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)Lorg/springframework/core/annotation/MergedAnnotation<TT;>;
    MethodParameters:
               Name  Flags
      attributeName  
      type           

  public <T extends java.lang.annotation.Annotation> org.springframework.core.annotation.MergedAnnotation<T>[] getAnnotationArray(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)[Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.String attributeName
        start local 2 // java.lang.Class type
         0: .line 235
            aload 0 /* this */
            aload 1 /* attributeName */
            iconst_1
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getAttributeIndex:(Ljava/lang/String;Z)I
            istore 3 /* attributeIndex */
        start local 3 // int attributeIndex
         1: .line 236
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            iload 3 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AttributeMethods.get:(I)Ljava/lang/reflect/Method;
            astore 4 /* attribute */
        start local 4 // java.lang.reflect.Method attribute
         2: .line 237
            aload 4 /* attribute */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 5 /* componentType */
        start local 5 // java.lang.Class componentType
         3: .line 238
            aload 2 /* type */
            ldc "Type must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         4: .line 239
            aload 5 /* componentType */
            aload 1 /* attributeName */
            invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
              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;
                  org/springframework/core/annotation/TypeMappedAnnotation.lambda$2(Ljava/lang/String;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/util/function/Supplier;)V
         5: .line 240
            aload 2 /* type */
            aload 5 /* componentType */
            aload 1 /* attributeName */
            invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
              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;
                  org/springframework/core/annotation/TypeMappedAnnotation.lambda$3(Ljava/lang/String;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic org.springframework.util.Assert.isAssignable:(Ljava/lang/Class;Ljava/lang/Class;Ljava/util/function/Supplier;)V
         6: .line 241
            aload 0 /* this */
            iload 3 /* attributeIndex */
            aload 1 /* attributeName */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getRequiredValue:(ILjava/lang/String;)Ljava/lang/Object;
            checkcast org.springframework.core.annotation.MergedAnnotation[]
            areturn
        end local 5 // java.lang.Class componentType
        end local 4 // java.lang.reflect.Method attribute
        end local 3 // int attributeIndex
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String attributeName
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    7     1   attributeName  Ljava/lang/String;
            0    7     2            type  Ljava/lang/Class<TT;>;
            1    7     3  attributeIndex  I
            2    7     4       attribute  Ljava/lang/reflect/Method;
            3    7     5   componentType  Ljava/lang/Class<*>;
    Exceptions:
      throws java.util.NoSuchElementException
    Signature: <T::Ljava/lang/annotation/Annotation;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)[Lorg/springframework/core/annotation/MergedAnnotation<TT;>;
    MethodParameters:
               Name  Flags
      attributeName  
      type           

  public <T> java.util.Optional<T> getDefaultValue(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.String attributeName
        start local 2 // java.lang.Class type
         0: .line 246
            aload 0 /* this */
            aload 1 /* attributeName */
            iconst_0
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getAttributeIndex:(Ljava/lang/String;Z)I
            istore 3 /* attributeIndex */
        start local 3 // int attributeIndex
         1: .line 247
            iload 3 /* attributeIndex */
            iconst_m1
            if_icmpne 3
         2: .line 248
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            areturn
         3: .line 250
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            iload 3 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AttributeMethods.get:(I)Ljava/lang/reflect/Method;
            astore 4 /* attribute */
        start local 4 // java.lang.reflect.Method attribute
         4: .line 251
            aload 0 /* this */
            aload 4 /* attribute */
            aload 4 /* attribute */
            invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
            aload 2 /* type */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.adapt:(Ljava/lang/reflect/Method;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 4 // java.lang.reflect.Method attribute
        end local 3 // int attributeIndex
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String attributeName
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    5     1   attributeName  Ljava/lang/String;
            0    5     2            type  Ljava/lang/Class<TT;>;
            1    5     3  attributeIndex  I
            4    5     4       attribute  Ljava/lang/reflect/Method;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)Ljava/util/Optional<TT;>;
    MethodParameters:
               Name  Flags
      attributeName  
      type           

  public org.springframework.core.annotation.MergedAnnotation<A> filterAttributes(java.util.function.Predicate<java.lang.String>);
    descriptor: (Ljava/util/function/Predicate;)Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=2, args_size=2
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.util.function.Predicate predicate
         0: .line 256
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.attributeFilter:Ljava/util/function/Predicate;
            ifnull 2
         1: .line 257
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.attributeFilter:Ljava/util/function/Predicate;
            aload 1 /* predicate */
            invokeinterface java.util.function.Predicate.and:(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
            astore 1 /* predicate */
         2: .line 259
      StackMap locals:
      StackMap stack:
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
         3: .line 260
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.useMergedValues:Z
            aload 1 /* predicate */
         4: .line 261
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedMirrors:[I
         5: .line 259
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;IZLjava/util/function/Predicate;[I[I)V
            areturn
        end local 1 // java.util.function.Predicate predicate
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    6     1  predicate  Ljava/util/function/Predicate<Ljava/lang/String;>;
    Signature: (Ljava/util/function/Predicate<Ljava/lang/String;>;)Lorg/springframework/core/annotation/MergedAnnotation<TA;>;
    MethodParameters:
           Name  Flags
      predicate  

  public org.springframework.core.annotation.MergedAnnotation<A> withNonMergedAttributes();
    descriptor: ()Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 266
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
         1: .line 267
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
            iconst_0
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.attributeFilter:Ljava/util/function/Predicate;
         2: .line 268
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedMirrors:[I
         3: .line 266
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;IZLjava/util/function/Predicate;[I[I)V
            areturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    Signature: ()Lorg/springframework/core/annotation/MergedAnnotation<TA;>;

  public java.util.Map<java.lang.String, java.lang.Object> asMap(org.springframework.core.annotation.MergedAnnotation$Adapt[]);
    descriptor: ([Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/util/Map;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
         0: .line 273
            aload 0 /* this */
            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;
                  org/springframework/core/annotation/TypeMappedAnnotation.lambda$4(Lorg/springframework/core/annotation/MergedAnnotation;)Ljava/util/LinkedHashMap; (6)
                  (Lorg/springframework/core/annotation/MergedAnnotation;)Ljava/util/LinkedHashMap;
            aload 1 /* adaptations */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.asMap:(Ljava/util/function/Function;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 1 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    1     1  adaptations  [Lorg/springframework/core/annotation/MergedAnnotation$Adapt;
    Signature: ([Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
             Name  Flags
      adaptations  

  public <T extends java.util.Map<java.lang.String, java.lang.Object>> T asMap(java.util.function.Function<org.springframework.core.annotation.MergedAnnotation<?>, T>, org.springframework.core.annotation.MergedAnnotation$Adapt[]);
    descriptor: (Ljava/util/function/Function;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/util/Map;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=8, locals=8, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.util.function.Function factory
        start local 2 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
         0: .line 278
            aload 1 /* factory */
            aload 0 /* this */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* map */
        start local 3 // java.util.Map map
         1: .line 279
            aload 3 /* map */
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: java.util.Map
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ldc "Factory used to create MergedAnnotation Map must not return null"
            invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
         4: .line 280
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            astore 4 /* attributes */
        start local 4 // org.springframework.core.annotation.AttributeMethods attributes
         5: .line 281
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 16
         7: .line 282
      StackMap locals: org.springframework.core.annotation.AttributeMethods int
      StackMap stack:
            aload 4 /* attributes */
            iload 5 /* i */
            invokevirtual org.springframework.core.annotation.AttributeMethods.get:(I)Ljava/lang/reflect/Method;
            astore 6 /* attribute */
        start local 6 // java.lang.reflect.Method attribute
         8: .line 283
            aload 0 /* this */
            aload 6 /* attribute */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.isFiltered:(Ljava/lang/String;)Z
            ifeq 9
            aconst_null
            goto 10
         9: .line 284
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            aload 0 /* this */
            aload 6 /* attribute */
            aload 2 /* adaptations */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getTypeForMapOptions:(Ljava/lang/reflect/Method;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/lang/Class;
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValue:(ILjava/lang/Class;)Ljava/lang/Object;
        10: .line 283
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 7 /* value */
        start local 7 // java.lang.Object value
        11: .line 285
            aload 7 /* value */
            ifnull 15
        12: .line 286
            aload 3 /* map */
            aload 6 /* attribute */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
        13: .line 287
            aload 0 /* this */
            aload 6 /* attribute */
            aload 7 /* value */
            aload 3 /* map */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* factory */
            aload 2 /* adaptations */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.adaptValueForMapOptions:(Ljava/lang/reflect/Method;Ljava/lang/Object;Ljava/lang/Class;Ljava/util/function/Function;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/lang/Object;
        14: .line 286
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.Object value
        end local 6 // java.lang.reflect.Method attribute
        15: .line 281
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 4 /* attributes */
            invokevirtual org.springframework.core.annotation.AttributeMethods.size:()I
            if_icmplt 7
        end local 5 // int i
        17: .line 290
            aload 3 /* map */
            areturn
        end local 4 // org.springframework.core.annotation.AttributeMethods attributes
        end local 3 // java.util.Map map
        end local 2 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
        end local 1 // java.util.function.Function factory
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   18     0         this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0   18     1      factory  Ljava/util/function/Function<Lorg/springframework/core/annotation/MergedAnnotation<*>;TT;>;
            0   18     2  adaptations  [Lorg/springframework/core/annotation/MergedAnnotation$Adapt;
            1   18     3          map  TT;
            5   18     4   attributes  Lorg/springframework/core/annotation/AttributeMethods;
            6   17     5            i  I
            8   15     6    attribute  Ljava/lang/reflect/Method;
           11   15     7        value  Ljava/lang/Object;
    Signature: <T::Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>(Ljava/util/function/Function<Lorg/springframework/core/annotation/MergedAnnotation<*>;TT;>;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)TT;
    MethodParameters:
             Name  Flags
      factory      
      adaptations  

  private java.lang.Class<?> getTypeForMapOptions(java.lang.reflect.Method, org.springframework.core.annotation.MergedAnnotation$Adapt[]);
    descriptor: (Ljava/lang/reflect/Method;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.reflect.Method attribute
        start local 2 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
         0: .line 294
            aload 1 /* attribute */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 3 /* attributeType */
        start local 3 // java.lang.Class attributeType
         1: .line 295
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 2
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            goto 3
      StackMap locals: java.lang.Class
      StackMap stack:
         2: aload 3 /* attributeType */
      StackMap locals:
      StackMap stack: java.lang.Class
         3: astore 4 /* componentType */
        start local 4 // java.lang.Class componentType
         4: .line 296
            getstatic org.springframework.core.annotation.MergedAnnotation$Adapt.CLASS_TO_STRING:Lorg/springframework/core/annotation/MergedAnnotation$Adapt;
            aload 2 /* adaptations */
            invokevirtual org.springframework.core.annotation.MergedAnnotation$Adapt.isIn:([Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Z
            ifeq 8
            aload 4 /* componentType */
            ldc Ljava/lang/Class;
            if_acmpne 8
         5: .line 297
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 6
            ldc [Ljava/lang/String;
            goto 7
      StackMap locals: java.lang.Class
      StackMap stack:
         6: ldc Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.Class
         7: areturn
         8: .line 299
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Class componentType
        end local 3 // java.lang.Class attributeType
        end local 2 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
        end local 1 // java.lang.reflect.Method attribute
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    9     1      attribute  Ljava/lang/reflect/Method;
            0    9     2    adaptations  [Lorg/springframework/core/annotation/MergedAnnotation$Adapt;
            1    9     3  attributeType  Ljava/lang/Class<*>;
            4    9     4  componentType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/reflect/Method;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      attribute    
      adaptations  

  private <T extends java.util.Map<java.lang.String, java.lang.Object>>  adaptValueForMapOptions(java.lang.reflect.Method, , java.lang.Class<?>, java.util.function.Function<org.springframework.core.annotation.MergedAnnotation<?>, T>, org.springframework.core.annotation.MergedAnnotation$Adapt[]);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;Ljava/lang/Class;Ljava/util/function/Function;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.reflect.Method attribute
        start local 2 // java.lang.Object value
        start local 3 // java.lang.Class mapType
        start local 4 // java.util.function.Function factory
        start local 5 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
         0: .line 305
            aload 2 /* value */
            instanceof org.springframework.core.annotation.MergedAnnotation
            ifeq 6
         1: .line 306
            aload 2 /* value */
            checkcast org.springframework.core.annotation.MergedAnnotation
            astore 6 /* annotation */
        start local 6 // org.springframework.core.annotation.MergedAnnotation annotation
         2: .line 307
            getstatic org.springframework.core.annotation.MergedAnnotation$Adapt.ANNOTATION_TO_MAP:Lorg/springframework/core/annotation/MergedAnnotation$Adapt;
            aload 5 /* adaptations */
            invokevirtual org.springframework.core.annotation.MergedAnnotation$Adapt.isIn:([Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Z
            ifeq 4
         3: .line 308
            aload 6 /* annotation */
            aload 4 /* factory */
            aload 5 /* adaptations */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.asMap:(Ljava/util/function/Function;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/util/Map;
            goto 5
      StackMap locals: org.springframework.core.annotation.MergedAnnotation
      StackMap stack:
         4: aload 6 /* annotation */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.synthesize:()Ljava/lang/annotation/Annotation;
         5: .line 307
      StackMap locals:
      StackMap stack: java.lang.Object
            areturn
        end local 6 // org.springframework.core.annotation.MergedAnnotation annotation
         6: .line 310
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof org.springframework.core.annotation.MergedAnnotation[]
            ifeq 24
         7: .line 311
            aload 2 /* value */
            checkcast org.springframework.core.annotation.MergedAnnotation[]
            astore 6 /* annotations */
        start local 6 // org.springframework.core.annotation.MergedAnnotation[] annotations
         8: .line 312
            getstatic org.springframework.core.annotation.MergedAnnotation$Adapt.ANNOTATION_TO_MAP:Lorg/springframework/core/annotation/MergedAnnotation$Adapt;
            aload 5 /* adaptations */
            invokevirtual org.springframework.core.annotation.MergedAnnotation$Adapt.isIn:([Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Z
            ifeq 16
         9: .line 313
            aload 3 /* mapType */
            aload 6 /* annotations */
            arraylength
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 7 /* result */
        start local 7 // java.lang.Object result
        10: .line 314
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        11: goto 14
        12: .line 315
      StackMap locals: org.springframework.core.annotation.MergedAnnotation[] java.lang.Object int
      StackMap stack:
            aload 7 /* result */
            iload 8 /* i */
            aload 6 /* annotations */
            iload 8 /* i */
            aaload
            aload 4 /* factory */
            aload 5 /* adaptations */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.asMap:(Ljava/util/function/Function;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/util/Map;
            invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
        13: .line 314
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 8 /* i */
            aload 6 /* annotations */
            arraylength
            if_icmplt 12
        end local 8 // int i
        15: .line 317
            aload 7 /* result */
            areturn
        end local 7 // java.lang.Object result
        16: .line 320
      StackMap locals:
      StackMap stack:
            aload 1 /* attribute */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            aload 6 /* annotations */
            arraylength
        17: .line 319
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 7 /* result */
        start local 7 // java.lang.Object result
        18: .line 321
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        19: goto 22
        20: .line 322
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 7 /* result */
            iload 8 /* i */
            aload 6 /* annotations */
            iload 8 /* i */
            aaload
            invokeinterface org.springframework.core.annotation.MergedAnnotation.synthesize:()Ljava/lang/annotation/Annotation;
            invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
        21: .line 321
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* i */
            aload 6 /* annotations */
            arraylength
            if_icmplt 20
        end local 8 // int i
        23: .line 324
            aload 7 /* result */
            areturn
        end local 7 // java.lang.Object result
        end local 6 // org.springframework.core.annotation.MergedAnnotation[] annotations
        24: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 5 // org.springframework.core.annotation.MergedAnnotation$Adapt[] adaptations
        end local 4 // java.util.function.Function factory
        end local 3 // java.lang.Class mapType
        end local 2 // java.lang.Object value
        end local 1 // java.lang.reflect.Method attribute
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0         this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0   25     1    attribute  Ljava/lang/reflect/Method;
            0   25     2        value  Ljava/lang/Object;
            0   25     3      mapType  Ljava/lang/Class<*>;
            0   25     4      factory  Ljava/util/function/Function<Lorg/springframework/core/annotation/MergedAnnotation<*>;TT;>;
            0   25     5  adaptations  [Lorg/springframework/core/annotation/MergedAnnotation$Adapt;
            2    6     6   annotation  Lorg/springframework/core/annotation/MergedAnnotation<*>;
            8   24     6  annotations  [Lorg/springframework/core/annotation/MergedAnnotation;
           10   16     7       result  Ljava/lang/Object;
           11   15     8            i  I
           18   24     7       result  Ljava/lang/Object;
           19   23     8            i  I
    Signature: <T::Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;>(Ljava/lang/reflect/Method;Ljava/lang/Object;Ljava/lang/Class<*>;Ljava/util/function/Function<Lorg/springframework/core/annotation/MergedAnnotation<*>;TT;>;[Lorg/springframework/core/annotation/MergedAnnotation$Adapt;)Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      attribute    
      value        
      mapType      
      factory      
      adaptations  

  protected A createSynthesized();
    descriptor: ()Ljava/lang/annotation/Annotation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 332
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getType:()Ljava/lang/Class;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.isSynthesizable:()Z
            ifne 2
         1: .line 333
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
            checkcast java.lang.annotation.Annotation
            areturn
         2: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getType:()Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.SynthesizedMergedAnnotationInvocationHandler.createProxy:(Lorg/springframework/core/annotation/MergedAnnotation;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            areturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    Signature: ()TA;

  private boolean isSynthesizable();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 340
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
            instanceof org.springframework.core.annotation.SynthesizedAnnotation
            ifeq 2
         1: .line 341
            iconst_0
            ireturn
         2: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.isSynthesizable:()Z
            ireturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;

  protected <T> T getAttributeValue(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.String attributeName
        start local 2 // java.lang.Class type
         0: .line 349
            aload 0 /* this */
            aload 1 /* attributeName */
            iconst_0
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getAttributeIndex:(Ljava/lang/String;Z)I
            istore 3 /* attributeIndex */
        start local 3 // int attributeIndex
         1: .line 350
            iload 3 /* attributeIndex */
            iconst_m1
            if_icmpeq 2
            aload 0 /* this */
            iload 3 /* attributeIndex */
            aload 2 /* type */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValue:(ILjava/lang/Class;)Ljava/lang/Object;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 3 // int attributeIndex
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String attributeName
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    4     1   attributeName  Ljava/lang/String;
            0    4     2            type  Ljava/lang/Class<TT;>;
            1    4     3  attributeIndex  I
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      attributeName  
      type           

  private java.lang.Object getRequiredValue(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // int attributeIndex
        start local 2 // java.lang.String attributeName
         0: .line 354
            aload 0 /* this */
            iload 1 /* attributeIndex */
            ldc Ljava/lang/Object;
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValue:(ILjava/lang/Class;)Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         1: .line 355
            aload 3 /* value */
            ifnonnull 5
         2: .line 356
            new java.util.NoSuchElementException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No element at attribute index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 357
            iload 1 /* attributeIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for name "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* attributeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 356
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 359
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String attributeName
        end local 1 // int attributeIndex
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    6     1  attributeIndex  I
            0    6     2   attributeName  Ljava/lang/String;
            1    6     3           value  Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      attributeIndex  
      attributeName   

  private <T> T getValue(int, java.lang.Class<T>);
    descriptor: (ILjava/lang/Class;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // int attributeIndex
        start local 2 // java.lang.Class type
         0: .line 364
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            iload 1 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AttributeMethods.get:(I)Ljava/lang/reflect/Method;
            astore 3 /* attribute */
        start local 3 // java.lang.reflect.Method attribute
         1: .line 365
            aload 0 /* this */
            iload 1 /* attributeIndex */
            iconst_1
            iconst_0
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValue:(IZZ)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         2: .line 366
            aload 4 /* value */
            ifnonnull 4
         3: .line 367
            aload 3 /* attribute */
            invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
            astore 4 /* value */
         4: .line 369
      StackMap locals: java.lang.reflect.Method java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 3 /* attribute */
            aload 4 /* value */
            aload 2 /* type */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.adapt:(Ljava/lang/reflect/Method;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object value
        end local 3 // java.lang.reflect.Method attribute
        end local 2 // java.lang.Class type
        end local 1 // int attributeIndex
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    5     1  attributeIndex  I
            0    5     2            type  Ljava/lang/Class<TT;>;
            1    5     3       attribute  Ljava/lang/reflect/Method;
            2    5     4           value  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(ILjava/lang/Class<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      attributeIndex  
      type            

  private java.lang.Object getValue(int, boolean, boolean);
    descriptor: (IZZ)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // int attributeIndex
        start local 2 // boolean useConventionMapping
        start local 3 // boolean forMirrorResolution
         0: .line 374
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            astore 4 /* mapping */
        start local 4 // org.springframework.core.annotation.AnnotationTypeMapping mapping
         1: .line 375
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.useMergedValues:Z
            ifeq 8
         2: .line 376
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            iload 1 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAliasMapping:(I)I
            istore 5 /* mappedIndex */
        start local 5 // int mappedIndex
         3: .line 377
            iload 5 /* mappedIndex */
            iconst_m1
            if_icmpne 5
            iload 2 /* useConventionMapping */
            ifeq 5
         4: .line 378
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            iload 1 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getConventionMapping:(I)I
            istore 5 /* mappedIndex */
         5: .line 380
      StackMap locals: org.springframework.core.annotation.AnnotationTypeMapping int
      StackMap stack:
            iload 5 /* mappedIndex */
            iconst_m1
            if_icmpeq 8
         6: .line 381
            aload 4 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getRoot:()Lorg/springframework/core/annotation/AnnotationTypeMapping;
            astore 4 /* mapping */
         7: .line 382
            iload 5 /* mappedIndex */
            istore 1 /* attributeIndex */
        end local 5 // int mappedIndex
         8: .line 385
      StackMap locals:
      StackMap stack:
            iload 3 /* forMirrorResolution */
            ifne 13
         9: .line 387
            aload 4 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getDistance:()I
            ifeq 10
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedMirrors:[I
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.resolvedRootMirrors:[I
      StackMap locals:
      StackMap stack: int[]
        11: iload 1 /* attributeIndex */
            iaload
        12: .line 386
            istore 1 /* attributeIndex */
        13: .line 389
      StackMap locals:
      StackMap stack:
            iload 1 /* attributeIndex */
            iconst_m1
            if_icmpne 15
        14: .line 390
            aconst_null
            areturn
        15: .line 392
      StackMap locals:
      StackMap stack:
            aload 4 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getDistance:()I
            ifne 21
        16: .line 393
            aload 4 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            iload 1 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AttributeMethods.get:(I)Ljava/lang/reflect/Method;
            astore 5 /* attribute */
        start local 5 // java.lang.reflect.Method attribute
        17: .line 394
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            aload 5 /* attribute */
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
            invokeinterface org.springframework.core.annotation.ValueExtractor.extract:(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* result */
        start local 6 // java.lang.Object result
        18: .line 395
            aload 6 /* result */
            ifnull 19
            aload 6 /* result */
            goto 20
      StackMap locals: java.lang.reflect.Method java.lang.Object
      StackMap stack:
        19: aload 5 /* attribute */
            invokevirtual java.lang.reflect.Method.getDefaultValue:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
        20: areturn
        end local 6 // java.lang.Object result
        end local 5 // java.lang.reflect.Method attribute
        21: .line 397
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* attributeIndex */
            iload 3 /* forMirrorResolution */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValueFromMetaAnnotation:(IZ)Ljava/lang/Object;
            areturn
        end local 4 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        end local 3 // boolean forMirrorResolution
        end local 2 // boolean useConventionMapping
        end local 1 // int attributeIndex
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   22     0                  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0   22     1        attributeIndex  I
            0   22     2  useConventionMapping  Z
            0   22     3   forMirrorResolution  Z
            1   22     4               mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
            3    8     5           mappedIndex  I
           17   21     5             attribute  Ljava/lang/reflect/Method;
           18   21     6                result  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                      Name  Flags
      attributeIndex        
      useConventionMapping  
      forMirrorResolution   

  private java.lang.Object getValueFromMetaAnnotation(int, boolean);
    descriptor: (IZ)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // int attributeIndex
        start local 2 // boolean forMirrorResolution
         0: .line 402
            aconst_null
            astore 3 /* value */
        start local 3 // java.lang.Object value
         1: .line 403
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.useMergedValues:Z
            ifne 2
            iload 2 /* forMirrorResolution */
            ifeq 3
         2: .line 404
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            iload 1 /* attributeIndex */
            iload 2 /* forMirrorResolution */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getMappedAnnotationValue:(IZ)Ljava/lang/Object;
            astore 3 /* value */
         3: .line 406
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            ifnonnull 6
         4: .line 407
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            iload 1 /* attributeIndex */
            invokevirtual org.springframework.core.annotation.AttributeMethods.get:(I)Ljava/lang/reflect/Method;
            astore 4 /* attribute */
        start local 4 // java.lang.reflect.Method attribute
         5: .line 408
            aload 4 /* attribute */
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAnnotation:()Ljava/lang/annotation/Annotation;
            invokestatic org.springframework.util.ReflectionUtils.invokeMethod:(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* value */
        end local 4 // java.lang.reflect.Method attribute
         6: .line 410
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // java.lang.Object value
        end local 2 // boolean forMirrorResolution
        end local 1 // int attributeIndex
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    7     1       attributeIndex  I
            0    7     2  forMirrorResolution  Z
            1    7     3                value  Ljava/lang/Object;
            5    6     4            attribute  Ljava/lang/reflect/Method;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
                     Name  Flags
      attributeIndex       
      forMirrorResolution  

  private java.lang.Object getValueForMirrorResolution(java.lang.reflect.Method, java.lang.Object);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.reflect.Method attribute
        start local 2 // java.lang.Object annotation
         0: .line 415
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            aload 1 /* attribute */
            invokevirtual org.springframework.core.annotation.AttributeMethods.indexOf:(Ljava/lang/reflect/Method;)I
            istore 3 /* attributeIndex */
        start local 3 // int attributeIndex
         1: .line 416
            ldc "value"
            aload 1 /* attribute */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 4 /* valueAttribute */
        start local 4 // boolean valueAttribute
         2: .line 417
            aload 0 /* this */
            iload 3 /* attributeIndex */
            iload 4 /* valueAttribute */
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: org.springframework.core.annotation.TypeMappedAnnotation java.lang.reflect.Method java.lang.Object int int
      StackMap stack: org.springframework.core.annotation.TypeMappedAnnotation int
         3: iconst_1
      StackMap locals: org.springframework.core.annotation.TypeMappedAnnotation java.lang.reflect.Method java.lang.Object int int
      StackMap stack: org.springframework.core.annotation.TypeMappedAnnotation int int
         4: iconst_1
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValue:(IZZ)Ljava/lang/Object;
            areturn
        end local 4 // boolean valueAttribute
        end local 3 // int attributeIndex
        end local 2 // java.lang.Object annotation
        end local 1 // java.lang.reflect.Method attribute
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    5     1       attribute  Ljava/lang/reflect/Method;
            0    5     2      annotation  Ljava/lang/Object;
            1    5     3  attributeIndex  I
            2    5     4  valueAttribute  Z
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      attribute   
      annotation  

  private <T> T adapt(java.lang.reflect.Method, , java.lang.Class<T>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.reflect.Method attribute
        start local 2 // java.lang.Object value
        start local 3 // java.lang.Class type
         0: .line 423
            aload 2 /* value */
            ifnonnull 2
         1: .line 424
            aconst_null
            areturn
         2: .line 426
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* attribute */
            aload 2 /* value */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.adaptForAttribute:(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* value */
         3: .line 427
            aload 0 /* this */
            aload 1 /* attribute */
            aload 3 /* type */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getAdaptType:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/Class;
            astore 3 /* type */
         4: .line 428
            aload 2 /* value */
            instanceof java.lang.Class
            ifeq 7
            aload 3 /* type */
            ldc Ljava/lang/String;
            if_acmpne 7
         5: .line 429
            aload 2 /* value */
            checkcast java.lang.Class
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* value */
         6: .line 430
            goto 43
         7: .line 431
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 10
            aload 3 /* type */
            ldc Ljava/lang/Class;
            if_acmpne 10
         8: .line 432
            aload 2 /* value */
            checkcast java.lang.String
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.resolveClassName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 2 /* value */
         9: .line 433
            goto 43
        10: .line 434
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.Class[]
            ifeq 20
            aload 3 /* type */
            ldc [Ljava/lang/String;
            if_acmpne 20
        11: .line 435
            aload 2 /* value */
            checkcast java.lang.Class[]
            astore 4 /* classes */
        start local 4 // java.lang.Class[] classes
        12: .line 436
            aload 4 /* classes */
            arraylength
            anewarray java.lang.String
            astore 5 /* names */
        start local 5 // java.lang.String[] names
        13: .line 437
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        14: goto 17
        15: .line 438
      StackMap locals: java.lang.Class[] java.lang.String[] int
      StackMap stack:
            aload 5 /* names */
            iload 6 /* i */
            aload 4 /* classes */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        16: .line 437
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            aload 4 /* classes */
            arraylength
            if_icmplt 15
        end local 6 // int i
        18: .line 440
            aload 5 /* names */
            astore 2 /* value */
        end local 5 // java.lang.String[] names
        end local 4 // java.lang.Class[] classes
        19: .line 441
            goto 43
        20: .line 442
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String[]
            ifeq 30
            aload 3 /* type */
            ldc [Ljava/lang/Class;
            if_acmpne 30
        21: .line 443
            aload 2 /* value */
            checkcast java.lang.String[]
            astore 4 /* names */
        start local 4 // java.lang.String[] names
        22: .line 444
            aload 4 /* names */
            arraylength
            anewarray java.lang.Class
            astore 5 /* classes */
        start local 5 // java.lang.Class[] classes
        23: .line 445
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        24: goto 27
        25: .line 446
      StackMap locals: java.lang.String[] java.lang.Class[] int
      StackMap stack:
            aload 5 /* classes */
            iload 6 /* i */
            aload 4 /* names */
            iload 6 /* i */
            aaload
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.resolveClassName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            aastore
        26: .line 445
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 6 /* i */
            aload 4 /* names */
            arraylength
            if_icmplt 25
        end local 6 // int i
        28: .line 448
            aload 5 /* classes */
            astore 2 /* value */
        end local 5 // java.lang.Class[] classes
        end local 4 // java.lang.String[] names
        29: .line 449
            goto 43
        30: .line 450
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof org.springframework.core.annotation.MergedAnnotation
            ifeq 34
            aload 3 /* type */
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 34
        31: .line 451
            aload 2 /* value */
            checkcast org.springframework.core.annotation.MergedAnnotation
            astore 4 /* annotation */
        start local 4 // org.springframework.core.annotation.MergedAnnotation annotation
        32: .line 452
            aload 4 /* annotation */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.synthesize:()Ljava/lang/annotation/Annotation;
            astore 2 /* value */
        end local 4 // org.springframework.core.annotation.MergedAnnotation annotation
        33: .line 453
            goto 43
        34: .line 454
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof org.springframework.core.annotation.MergedAnnotation[]
            ifeq 43
            aload 3 /* type */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 43
            aload 3 /* type */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 43
        35: .line 455
            aload 2 /* value */
            checkcast org.springframework.core.annotation.MergedAnnotation[]
            astore 4 /* annotations */
        start local 4 // org.springframework.core.annotation.MergedAnnotation[] annotations
        36: .line 456
            aload 3 /* type */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            aload 4 /* annotations */
            arraylength
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 5 /* array */
        start local 5 // java.lang.Object array
        37: .line 457
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        38: goto 41
        39: .line 458
      StackMap locals: org.springframework.core.annotation.MergedAnnotation[] java.lang.Object int
      StackMap stack:
            aload 5 /* array */
            iload 6 /* i */
            aload 4 /* annotations */
            iload 6 /* i */
            aaload
            invokeinterface org.springframework.core.annotation.MergedAnnotation.synthesize:()Ljava/lang/annotation/Annotation;
            invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
        40: .line 457
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 6 /* i */
            aload 4 /* annotations */
            arraylength
            if_icmplt 39
        end local 6 // int i
        42: .line 460
            aload 5 /* array */
            astore 2 /* value */
        end local 5 // java.lang.Object array
        end local 4 // org.springframework.core.annotation.MergedAnnotation[] annotations
        43: .line 462
      StackMap locals:
      StackMap stack:
            aload 3 /* type */
            aload 2 /* value */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 47
        44: .line 463
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to adapt value of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        45: .line 464
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        46: .line 463
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 466
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 3 // java.lang.Class type
        end local 2 // java.lang.Object value
        end local 1 // java.lang.reflect.Method attribute
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   48     0         this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0   48     1    attribute  Ljava/lang/reflect/Method;
            0   48     2        value  Ljava/lang/Object;
            0   48     3         type  Ljava/lang/Class<TT;>;
           12   19     4      classes  [Ljava/lang/Class;
           13   19     5        names  [Ljava/lang/String;
           14   18     6            i  I
           22   29     4        names  [Ljava/lang/String;
           23   29     5      classes  [Ljava/lang/Class;
           24   28     6            i  I
           32   33     4   annotation  Lorg/springframework/core/annotation/MergedAnnotation<*>;
           36   43     4  annotations  [Lorg/springframework/core/annotation/MergedAnnotation;
           37   43     5        array  Ljava/lang/Object;
           38   42     6            i  I
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Method;Ljava/lang/Object;Ljava/lang/Class<TT;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
           Name  Flags
      attribute  
      value      
      type       

  private java.lang.Object adaptForAttribute(java.lang.reflect.Method, java.lang.Object);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.reflect.Method attribute
        start local 2 // java.lang.Object value
         0: .line 471
            aload 1 /* attribute */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokestatic org.springframework.util.ClassUtils.resolvePrimitiveIfNecessary:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 3 /* attributeType */
        start local 3 // java.lang.Class attributeType
         1: .line 472
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 5
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifne 5
         2: .line 473
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            iconst_1
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 4 /* array */
        start local 4 // java.lang.Object array
         3: .line 474
            aload 4 /* array */
            iconst_0
            aload 2 /* value */
            invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
         4: .line 475
            aload 0 /* this */
            aload 1 /* attribute */
            aload 4 /* array */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.adaptForAttribute:(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object array
         5: .line 477
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 7
         6: .line 478
            aload 0 /* this */
            aload 2 /* value */
            aload 3 /* attributeType */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.adaptToMergedAnnotation:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
            areturn
         7: .line 480
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 17
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 17
         8: .line 481
            aload 2 /* value */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            anewarray org.springframework.core.annotation.MergedAnnotation
            astore 4 /* result */
        start local 4 // org.springframework.core.annotation.MergedAnnotation[] result
         9: .line 482
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: goto 15
        11: .line 483
      StackMap locals: org.springframework.core.annotation.MergedAnnotation[] int
      StackMap stack:
            aload 4 /* result */
            iload 5 /* i */
            aload 0 /* this */
            aload 2 /* value */
            iload 5 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
        12: .line 484
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
        13: .line 483
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.adaptToMergedAnnotation:(Ljava/lang/Object;Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
            aastore
        14: .line 482
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 4 /* result */
            arraylength
            if_icmplt 11
        end local 5 // int i
        16: .line 486
            aload 4 /* result */
            areturn
        end local 4 // org.springframework.core.annotation.MergedAnnotation[] result
        17: .line 488
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            ldc Ljava/lang/Class;
            if_acmpne 18
            aload 2 /* value */
            instanceof java.lang.String
            ifne 21
        18: .line 489
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            ldc [Ljava/lang/Class;
            if_acmpne 19
            aload 2 /* value */
            instanceof java.lang.String[]
            ifne 21
        19: .line 490
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            ldc Ljava/lang/String;
            if_acmpne 20
            aload 2 /* value */
            instanceof java.lang.Class
            ifne 21
        20: .line 491
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            ldc [Ljava/lang/String;
            if_acmpne 22
            aload 2 /* value */
            instanceof java.lang.Class[]
            ifeq 22
        21: .line 492
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        22: .line 494
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 24
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.isEmptyObjectArray:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 495
            aload 0 /* this */
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.emptyArray:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        24: .line 497
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            aload 2 /* value */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 30
        25: .line 498
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attribute '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* attribute */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 499
            ldc "' in annotation "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " should be compatible with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 500
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " but a "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 501
            ldc " value was returned"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 498
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 503
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 3 // java.lang.Class attributeType
        end local 2 // java.lang.Object value
        end local 1 // java.lang.reflect.Method attribute
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0   31     1      attribute  Ljava/lang/reflect/Method;
            0   31     2          value  Ljava/lang/Object;
            1   31     3  attributeType  Ljava/lang/Class<*>;
            3    5     4          array  Ljava/lang/Object;
            9   17     4         result  [Lorg/springframework/core/annotation/MergedAnnotation;
           10   16     5              i  I
    MethodParameters:
           Name  Flags
      attribute  
      value      

  private boolean isEmptyObjectArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.Object value
         0: .line 507
            aload 1 /* value */
            instanceof java.lang.Object[]
            ifeq 1
            aload 1 /* value */
            checkcast java.lang.Object[]
            arraylength
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object value
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    2     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  private  emptyArray(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.Class componentType
         0: .line 511
            getstatic org.springframework.core.annotation.TypeMappedAnnotation.EMPTY_ARRAYS:Ljava/util/Map;
            aload 1 /* componentType */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* result */
        start local 2 // java.lang.Object result
         1: .line 512
            aload 2 /* result */
            ifnonnull 3
         2: .line 513
            aload 1 /* componentType */
            iconst_0
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 2 /* result */
         3: .line 515
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.Object result
        end local 1 // java.lang.Class componentType
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    4     1  componentType  Ljava/lang/Class<*>;
            1    4     2         result  Ljava/lang/Object;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      componentType  

  private org.springframework.core.annotation.MergedAnnotation<?> adaptToMergedAnnotation(, java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.Object value
        start local 2 // java.lang.Class annotationType
         0: .line 519
            aload 1 /* value */
            instanceof org.springframework.core.annotation.MergedAnnotation
            ifeq 2
         1: .line 520
            aload 1 /* value */
            checkcast org.springframework.core.annotation.MergedAnnotation
            areturn
         2: .line 522
      StackMap locals:
      StackMap stack:
            aload 2 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationTypeMappings.forAnnotationType:(Ljava/lang/Class;)Lorg/springframework/core/annotation/AnnotationTypeMappings;
            iconst_0
            invokevirtual org.springframework.core.annotation.AnnotationTypeMappings.get:(I)Lorg/springframework/core/annotation/AnnotationTypeMapping;
            astore 3 /* mapping */
        start local 3 // org.springframework.core.annotation.AnnotationTypeMapping mapping
         3: .line 523
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
         4: .line 524
            aload 3 /* mapping */
            aconst_null
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            aload 1 /* value */
            aload 0 /* this */
            aload 1 /* value */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getValueExtractor:(Ljava/lang/Object;)Lorg/springframework/core/annotation/ValueExtractor;
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
         5: .line 523
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I)V
            areturn
        end local 3 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        end local 2 // java.lang.Class annotationType
        end local 1 // java.lang.Object value
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    6     1           value  Ljava/lang/Object;
            0    6     2  annotationType  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
            3    6     3         mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
    Signature: (Ljava/lang/Object;Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lorg/springframework/core/annotation/MergedAnnotation<*>;
    MethodParameters:
                Name  Flags
      value           
      annotationType  

  private org.springframework.core.annotation.ValueExtractor getValueExtractor(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/core/annotation/ValueExtractor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.Object value
         0: .line 528
            aload 1 /* value */
            instanceof java.lang.annotation.Annotation
            ifeq 2
         1: .line 529
            invokedynamic extract()Lorg/springframework/core/annotation/ValueExtractor;
              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/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/util/ReflectionUtils.invokeMethod(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 531
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            instanceof java.util.Map
            ifeq 4
         3: .line 532
            invokedynamic extract()Lorg/springframework/core/annotation/ValueExtractor;
              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/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/core/annotation/TypeMappedAnnotation.extractFromMap(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         4: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    5     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  private <T> java.lang.Class<T> getAdaptType(java.lang.reflect.Method, java.lang.Class<T>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.reflect.Method attribute
        start local 2 // java.lang.Class type
         0: .line 539
            aload 2 /* type */
            ldc Ljava/lang/Object;
            if_acmpeq 2
         1: .line 540
            aload 2 /* type */
            areturn
         2: .line 542
      StackMap locals:
      StackMap stack:
            aload 1 /* attribute */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 3 /* attributeType */
        start local 3 // java.lang.Class attributeType
         3: .line 543
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 5
         4: .line 544
            ldc Lorg/springframework/core/annotation/MergedAnnotation;
            areturn
         5: .line 546
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 7
            aload 3 /* attributeType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAnnotation:()Z
            ifeq 7
         6: .line 547
            ldc [Lorg/springframework/core/annotation/MergedAnnotation;
            areturn
         7: .line 549
      StackMap locals:
      StackMap stack:
            aload 3 /* attributeType */
            invokestatic org.springframework.util.ClassUtils.resolvePrimitiveIfNecessary:(Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 3 // java.lang.Class attributeType
        end local 2 // java.lang.Class type
        end local 1 // java.lang.reflect.Method attribute
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    8     1      attribute  Ljava/lang/reflect/Method;
            0    8     2           type  Ljava/lang/Class<TT;>;
            3    8     3  attributeType  Ljava/lang/Class<*>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Method;Ljava/lang/Class<TT;>;)Ljava/lang/Class<TT;>;
    MethodParameters:
           Name  Flags
      attribute  
      type       

  private int getAttributeIndex(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.String attributeName
        start local 2 // boolean required
         0: .line 553
            aload 1 /* attributeName */
            ldc "Attribute name must not be null"
            invokestatic org.springframework.util.Assert.hasText:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 554
            aload 0 /* this */
            aload 1 /* attributeName */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.isFiltered:(Ljava/lang/String;)Z
            ifeq 2
            iconst_m1
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.mapping:Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAttributes:()Lorg/springframework/core/annotation/AttributeMethods;
            aload 1 /* attributeName */
            invokevirtual org.springframework.core.annotation.AttributeMethods.indexOf:(Ljava/lang/String;)I
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* attributeIndex */
        start local 3 // int attributeIndex
         4: .line 555
            iload 3 /* attributeIndex */
            iconst_m1
            if_icmpne 8
            iload 2 /* required */
            ifeq 8
         5: .line 556
            new java.util.NoSuchElementException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No attribute named '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* attributeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 557
            ldc "' present in merged annotation "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.springframework.core.annotation.TypeMappedAnnotation.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 556
            invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 559
      StackMap locals: int
      StackMap stack:
            iload 3 /* attributeIndex */
            ireturn
        end local 3 // int attributeIndex
        end local 2 // boolean required
        end local 1 // java.lang.String attributeName
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    9     1   attributeName  Ljava/lang/String;
            0    9     2        required  Z
            4    9     3  attributeIndex  I
    MethodParameters:
               Name  Flags
      attributeName  
      required       

  private boolean isFiltered(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
        start local 1 // java.lang.String attributeName
         0: .line 563
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.attributeFilter:Ljava/util/function/Predicate;
            ifnull 4
         1: .line 564
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.attributeFilter:Ljava/util/function/Predicate;
            aload 1 /* attributeName */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 566
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String attributeName
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
            0    5     1  attributeName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      attributeName  

  private java.lang.ClassLoader getClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
         0: .line 571
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
            ifnull 2
         1: .line 572
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.classLoader:Ljava/lang/ClassLoader;
            areturn
         2: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            ifnull 7
         3: .line 575
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            instanceof java.lang.Class
            ifeq 5
         4: .line 576
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            checkcast java.lang.Class
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
         5: .line 578
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            instanceof java.lang.reflect.Member
            ifeq 7
         6: .line 579
            aload 0 /* this */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
            checkcast java.lang.reflect.Member
            invokeinterface java.lang.reflect.Member.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            pop
         7: .line 582
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.springframework.core.annotation.TypeMappedAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  static <A extends java.lang.annotation.Annotation> org.springframework.core.annotation.MergedAnnotation<A> from(, A);
    descriptor: (Ljava/lang/Object;Ljava/lang/annotation/Annotation;)Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // java.lang.Object source
        start local 1 // java.lang.annotation.Annotation annotation
         0: .line 587
            aload 1 /* annotation */
            ldc "Annotation must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 588
            aload 1 /* annotation */
            invokeinterface java.lang.annotation.Annotation.annotationType:()Ljava/lang/Class;
            invokestatic org.springframework.core.annotation.AnnotationTypeMappings.forAnnotationType:(Ljava/lang/Class;)Lorg/springframework/core/annotation/AnnotationTypeMappings;
            astore 2 /* mappings */
        start local 2 // org.springframework.core.annotation.AnnotationTypeMappings mappings
         2: .line 589
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
            aload 2 /* mappings */
            iconst_0
            invokevirtual org.springframework.core.annotation.AnnotationTypeMappings.get:(I)Lorg/springframework/core/annotation/AnnotationTypeMapping;
            aconst_null
            aload 0 /* source */
            aload 1 /* annotation */
            invokedynamic extract()Lorg/springframework/core/annotation/ValueExtractor;
              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/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/util/ReflectionUtils.invokeMethod(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            iconst_0
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I)V
            areturn
        end local 2 // org.springframework.core.annotation.AnnotationTypeMappings mappings
        end local 1 // java.lang.annotation.Annotation annotation
        end local 0 // java.lang.Object source
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0      source  Ljava/lang/Object;
            0    3     1  annotation  TA;
            2    3     2    mappings  Lorg/springframework/core/annotation/AnnotationTypeMappings;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/Object;TA;)Lorg/springframework/core/annotation/MergedAnnotation<TA;>;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
            Name  Flags
      source      
      annotation  

  static <A extends java.lang.annotation.Annotation> org.springframework.core.annotation.MergedAnnotation<A> of(java.lang.ClassLoader, , java.lang.Class<A>, java.util.Map<java.lang.String, ?>);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Class;Ljava/util/Map;)Lorg/springframework/core/annotation/MergedAnnotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // java.lang.ClassLoader classLoader
        start local 1 // java.lang.Object source
        start local 2 // java.lang.Class annotationType
        start local 3 // java.util.Map attributes
         0: .line 596
            aload 2 /* annotationType */
            ldc "Annotation type must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 597
            aload 2 /* annotationType */
            invokestatic org.springframework.core.annotation.AnnotationTypeMappings.forAnnotationType:(Ljava/lang/Class;)Lorg/springframework/core/annotation/AnnotationTypeMappings;
            astore 4 /* mappings */
        start local 4 // org.springframework.core.annotation.AnnotationTypeMappings mappings
         2: .line 598
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
         3: .line 599
            aload 4 /* mappings */
            iconst_0
            invokevirtual org.springframework.core.annotation.AnnotationTypeMappings.get:(I)Lorg/springframework/core/annotation/AnnotationTypeMapping;
            aload 0 /* classLoader */
            aload 1 /* source */
            aload 3 /* attributes */
            invokedynamic extract()Lorg/springframework/core/annotation/ValueExtractor;
              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/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/core/annotation/TypeMappedAnnotation.extractFromMap(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            iconst_0
         4: .line 598
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I)V
            areturn
        end local 4 // org.springframework.core.annotation.AnnotationTypeMappings mappings
        end local 3 // java.util.Map attributes
        end local 2 // java.lang.Class annotationType
        end local 1 // java.lang.Object source
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0     classLoader  Ljava/lang/ClassLoader;
            0    5     1          source  Ljava/lang/Object;
            0    5     2  annotationType  Ljava/lang/Class<TA;>;
            0    5     3      attributes  Ljava/util/Map<Ljava/lang/String;*>;
            2    5     4        mappings  Lorg/springframework/core/annotation/AnnotationTypeMappings;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Class<TA;>;Ljava/util/Map<Ljava/lang/String;*>;)Lorg/springframework/core/annotation/MergedAnnotation<TA;>;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
      2:
      3:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      classLoader     
      source          
      annotationType  
      attributes      

  static <A extends java.lang.annotation.Annotation> org.springframework.core.annotation.TypeMappedAnnotation<A> createIfPossible(org.springframework.core.annotation.AnnotationTypeMapping, org.springframework.core.annotation.MergedAnnotation<?>, org.springframework.core.annotation.IntrospectionFailureLogger);
    descriptor: (Lorg/springframework/core/annotation/AnnotationTypeMapping;Lorg/springframework/core/annotation/MergedAnnotation;Lorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        start local 1 // org.springframework.core.annotation.MergedAnnotation annotation
        start local 2 // org.springframework.core.annotation.IntrospectionFailureLogger logger
         0: .line 606
            aload 1 /* annotation */
            instanceof org.springframework.core.annotation.TypeMappedAnnotation
            ifeq 7
         1: .line 607
            aload 1 /* annotation */
            checkcast org.springframework.core.annotation.TypeMappedAnnotation
            astore 3 /* typeMappedAnnotation */
        start local 3 // org.springframework.core.annotation.TypeMappedAnnotation typeMappedAnnotation
         2: .line 608
            aload 0 /* mapping */
            aload 3 /* typeMappedAnnotation */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.source:Ljava/lang/Object;
         3: .line 609
            aload 3 /* typeMappedAnnotation */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.rootAttributes:Ljava/lang/Object;
         4: .line 610
            aload 3 /* typeMappedAnnotation */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.valueExtractor:Lorg/springframework/core/annotation/ValueExtractor;
         5: .line 611
            aload 3 /* typeMappedAnnotation */
            getfield org.springframework.core.annotation.TypeMappedAnnotation.aggregateIndex:I
            aload 2 /* logger */
         6: .line 608
            invokestatic org.springframework.core.annotation.TypeMappedAnnotation.createIfPossible:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;ILorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation;
            areturn
        end local 3 // org.springframework.core.annotation.TypeMappedAnnotation typeMappedAnnotation
         7: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* mapping */
            aload 1 /* annotation */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getSource:()Ljava/lang/Object;
            aload 1 /* annotation */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.synthesize:()Ljava/lang/annotation/Annotation;
         8: .line 614
            aload 1 /* annotation */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getAggregateIndex:()I
            aload 2 /* logger */
         9: .line 613
            invokestatic org.springframework.core.annotation.TypeMappedAnnotation.createIfPossible:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/Object;Ljava/lang/annotation/Annotation;ILorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation;
            areturn
        end local 2 // org.springframework.core.annotation.IntrospectionFailureLogger logger
        end local 1 // org.springframework.core.annotation.MergedAnnotation annotation
        end local 0 // org.springframework.core.annotation.AnnotationTypeMapping mapping
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0               mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
            0   10     1            annotation  Lorg/springframework/core/annotation/MergedAnnotation<*>;
            0   10     2                logger  Lorg/springframework/core/annotation/IntrospectionFailureLogger;
            2    7     3  typeMappedAnnotation  Lorg/springframework/core/annotation/TypeMappedAnnotation<*>;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Lorg/springframework/core/annotation/AnnotationTypeMapping;Lorg/springframework/core/annotation/MergedAnnotation<*>;Lorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      mapping     
      annotation  
      logger      

  static <A extends java.lang.annotation.Annotation> org.springframework.core.annotation.TypeMappedAnnotation<A> createIfPossible(org.springframework.core.annotation.AnnotationTypeMapping, , java.lang.annotation.Annotation, int, org.springframework.core.annotation.IntrospectionFailureLogger);
    descriptor: (Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/Object;Ljava/lang/annotation/Annotation;ILorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        start local 1 // java.lang.Object source
        start local 2 // java.lang.annotation.Annotation annotation
        start local 3 // int aggregateIndex
        start local 4 // org.springframework.core.annotation.IntrospectionFailureLogger logger
         0: .line 622
            aload 0 /* mapping */
            aload 1 /* source */
            aload 2 /* annotation */
         1: .line 623
            invokedynamic extract()Lorg/springframework/core/annotation/ValueExtractor;
              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/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
                  org/springframework/util/ReflectionUtils.invokeMethod(Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object; (6)
                  (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
            iload 3 /* aggregateIndex */
            aload 4 /* logger */
         2: .line 622
            invokestatic org.springframework.core.annotation.TypeMappedAnnotation.createIfPossible:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;ILorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation;
            areturn
        end local 4 // org.springframework.core.annotation.IntrospectionFailureLogger logger
        end local 3 // int aggregateIndex
        end local 2 // java.lang.annotation.Annotation annotation
        end local 1 // java.lang.Object source
        end local 0 // org.springframework.core.annotation.AnnotationTypeMapping mapping
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0         mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
            0    3     1          source  Ljava/lang/Object;
            0    3     2      annotation  Ljava/lang/annotation/Annotation;
            0    3     3  aggregateIndex  I
            0    3     4          logger  Lorg/springframework/core/annotation/IntrospectionFailureLogger;
    Signature: <A::Ljava/lang/annotation/Annotation;>(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/Object;Ljava/lang/annotation/Annotation;ILorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
      3:
      4:
    MethodParameters:
                Name  Flags
      mapping         
      source          
      annotation      
      aggregateIndex  
      logger          

  private static <A extends java.lang.annotation.Annotation> org.springframework.core.annotation.TypeMappedAnnotation<A> createIfPossible(org.springframework.core.annotation.AnnotationTypeMapping, , , org.springframework.core.annotation.ValueExtractor, int, org.springframework.core.annotation.IntrospectionFailureLogger);
    descriptor: (Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;ILorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // org.springframework.core.annotation.AnnotationTypeMapping mapping
        start local 1 // java.lang.Object source
        start local 2 // java.lang.Object rootAttribute
        start local 3 // org.springframework.core.annotation.ValueExtractor valueExtractor
        start local 4 // int aggregateIndex
        start local 5 // org.springframework.core.annotation.IntrospectionFailureLogger logger
         0: .line 632
            new org.springframework.core.annotation.TypeMappedAnnotation
            dup
            aload 0 /* mapping */
            aconst_null
            aload 1 /* source */
            aload 2 /* rootAttribute */
         1: .line 633
            aload 3 /* valueExtractor */
            iload 4 /* aggregateIndex */
         2: .line 632
            invokespecial org.springframework.core.annotation.TypeMappedAnnotation.<init>:(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/ClassLoader;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;I)V
         3: areturn
         4: .line 635
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* ex */
        start local 6 // java.lang.Exception ex
         5: .line 636
            aload 6 /* ex */
            invokestatic org.springframework.core.annotation.AnnotationUtils.rethrowAnnotationConfigurationException:(Ljava/lang/Throwable;)V
         6: .line 637
            aload 5 /* logger */
            invokevirtual org.springframework.core.annotation.IntrospectionFailureLogger.isEnabled:()Z
            ifeq 12
         7: .line 638
            aload 0 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAnnotationType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 7 /* type */
        start local 7 // java.lang.String type
         8: .line 639
            aload 0 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getDistance:()I
            ifne 9
            new java.lang.StringBuilder
            dup
            ldc "annotation "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 10
         9: .line 640
      StackMap locals: java.lang.Exception java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "meta-annotation "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " from "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* mapping */
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getRoot:()Lorg/springframework/core/annotation/AnnotationTypeMapping;
            invokevirtual org.springframework.core.annotation.AnnotationTypeMapping.getAnnotationType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 639
      StackMap locals:
      StackMap stack: java.lang.String
            astore 8 /* item */
        start local 8 // java.lang.String item
        11: .line 641
            aload 5 /* logger */
            new java.lang.StringBuilder
            dup
            ldc "Failed to introspect "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* item */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* source */
            aload 6 /* ex */
            invokevirtual org.springframework.core.annotation.IntrospectionFailureLogger.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Exception;)V
        end local 8 // java.lang.String item
        end local 7 // java.lang.String type
        12: .line 643
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.lang.Exception ex
        end local 5 // org.springframework.core.annotation.IntrospectionFailureLogger logger
        end local 4 // int aggregateIndex
        end local 3 // org.springframework.core.annotation.ValueExtractor valueExtractor
        end local 2 // java.lang.Object rootAttribute
        end local 1 // java.lang.Object source
        end local 0 // org.springframework.core.annotation.AnnotationTypeMapping mapping
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0         mapping  Lorg/springframework/core/annotation/AnnotationTypeMapping;
            0   13     1          source  Ljava/lang/Object;
            0   13     2   rootAttribute  Ljava/lang/Object;
            0   13     3  valueExtractor  Lorg/springframework/core/annotation/ValueExtractor;
            0   13     4  aggregateIndex  I
            0   13     5          logger  Lorg/springframework/core/annotation/IntrospectionFailureLogger;
            5   13     6              ex  Ljava/lang/Exception;
            8   12     7            type  Ljava/lang/String;
           11   12     8            item  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
    Signature: <A::Ljava/lang/annotation/Annotation;>(Lorg/springframework/core/annotation/AnnotationTypeMapping;Ljava/lang/Object;Ljava/lang/Object;Lorg/springframework/core/annotation/ValueExtractor;ILorg/springframework/core/annotation/IntrospectionFailureLogger;)Lorg/springframework/core/annotation/TypeMappedAnnotation<TA;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
      3:
      4:
      5:
    MethodParameters:
                Name  Flags
      mapping         
      source          
      rootAttribute   
      valueExtractor  
      aggregateIndex  
      logger          

  static java.lang.Object extractFromMap(java.lang.reflect.Method, java.lang.Object);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.reflect.Method attribute
        start local 1 // java.lang.Object map
         0: .line 650
            aload 1 /* map */
            ifnull 1
            aload 1 /* map */
            checkcast java.util.Map
            aload 0 /* attribute */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 1 // java.lang.Object map
        end local 0 // java.lang.reflect.Method attribute
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  attribute  Ljava/lang/reflect/Method;
            0    3     1        map  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
           Name  Flags
      attribute  
      map        

  private static java.lang.String lambda$1(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 226
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " type mismatch:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$2(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 239
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is not an array"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$3(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 240
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " component type mismatch:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.util.LinkedHashMap lambda$4(org.springframework.core.annotation.MergedAnnotation);
    descriptor: (Lorg/springframework/core/annotation/MergedAnnotation;)Ljava/util/LinkedHashMap;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.core.annotation.MergedAnnotation mergedAnnotation
         0: .line 273
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            areturn
        end local 0 // org.springframework.core.annotation.MergedAnnotation mergedAnnotation
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  mergedAnnotation  Lorg/springframework/core/annotation/MergedAnnotation<*>;
}
Signature: <A::Ljava/lang/annotation/Annotation;>Lorg/springframework/core/annotation/AbstractMergedAnnotation<TA;>;
SourceFile: "TypeMappedAnnotation.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  MirrorSets = org.springframework.core.annotation.AnnotationTypeMapping$MirrorSets of org.springframework.core.annotation.AnnotationTypeMapping
  public final Adapt = org.springframework.core.annotation.MergedAnnotation$Adapt of org.springframework.core.annotation.MergedAnnotation