public final class org.springframework.core.CollectionFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.springframework.core.CollectionFactory
  super_class: java.lang.Object
{
  private static final java.util.Set<java.lang.Class<?>> approximableCollectionTypes;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 58
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
         1: .line 60
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
         2: .line 65
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/Collection;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 66
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/List;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 67
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/Set;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 68
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/SortedSet;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 69
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/NavigableSet;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 70
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            ldc Ljava/util/Map;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 71
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            ldc Ljava/util/SortedMap;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         9: .line 72
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            ldc Ljava/util/NavigableMap;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 75
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/ArrayList;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        11: .line 76
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/LinkedList;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 77
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/HashSet;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 78
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/LinkedHashSet;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 79
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/TreeSet;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 80
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            ldc Ljava/util/EnumSet;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 81
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            ldc Ljava/util/HashMap;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        17: .line 82
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            ldc Ljava/util/LinkedHashMap;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        18: .line 83
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            ldc Ljava/util/TreeMap;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        19: .line 84
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            ldc Ljava/util/EnumMap;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        20: .line 85
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.CollectionFactory this
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 89
            return
        end local 0 // org.springframework.core.CollectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/core/CollectionFactory;

  public static boolean isApproximableCollectionType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class collectionType
         0: .line 99
            aload 0 /* collectionType */
            ifnull 1
            getstatic org.springframework.core.CollectionFactory.approximableCollectionTypes:Ljava/util/Set;
            aload 0 /* collectionType */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Class collectionType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0  collectionType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                Name  Flags
      collectionType  

  public static <E> java.util.Collection<E> createApproximateCollection(, int);
    descriptor: (Ljava/lang/Object;I)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object collection
        start local 1 // int capacity
         0: .line 124
            aload 0 /* collection */
            instanceof java.util.LinkedList
            ifeq 2
         1: .line 125
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            areturn
         2: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* collection */
            instanceof java.util.List
            ifeq 4
         3: .line 128
            new java.util.ArrayList
            dup
            iload 1 /* capacity */
            invokespecial java.util.ArrayList.<init>:(I)V
            areturn
         4: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* collection */
            instanceof java.util.EnumSet
            ifeq 8
         5: .line 132
            aload 0 /* collection */
            checkcast java.util.EnumSet
            invokestatic java.util.EnumSet.copyOf:(Ljava/util/EnumSet;)Ljava/util/EnumSet;
            astore 2 /* enumSet */
        start local 2 // java.util.Collection enumSet
         6: .line 133
            aload 2 /* enumSet */
            invokeinterface java.util.Collection.clear:()V
         7: .line 134
            aload 2 /* enumSet */
            areturn
        end local 2 // java.util.Collection enumSet
         8: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* collection */
            instanceof java.util.SortedSet
            ifeq 10
         9: .line 137
            new java.util.TreeSet
            dup
            aload 0 /* collection */
            checkcast java.util.SortedSet
            invokeinterface java.util.SortedSet.comparator:()Ljava/util/Comparator;
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
            areturn
        10: .line 140
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            iload 1 /* capacity */
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            areturn
        end local 1 // int capacity
        end local 0 // java.lang.Object collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0  collection  Ljava/lang/Object;
            0   11     1    capacity  I
            6    8     2     enumSet  Ljava/util/Collection<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Object;I)Ljava/util/Collection<TE;>;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
            Name  Flags
      collection  
      capacity    

  public static <E> java.util.Collection<E> createCollection(java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;I)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class collectionType
        start local 1 // int capacity
         0: .line 155
            aload 0 /* collectionType */
            aconst_null
            iload 1 /* capacity */
            invokestatic org.springframework.core.CollectionFactory.createCollection:(Ljava/lang/Class;Ljava/lang/Class;I)Ljava/util/Collection;
            areturn
        end local 1 // int capacity
        end local 0 // java.lang.Class collectionType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  collectionType  Ljava/lang/Class<*>;
            0    1     1        capacity  I
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Class<*>;I)Ljava/util/Collection<TE;>;
    MethodParameters:
                Name  Flags
      collectionType  
      capacity        

  public static <E> java.util.Collection<E> createCollection(java.lang.Class<?>, java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;I)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Class collectionType
        start local 1 // java.lang.Class elementType
        start local 2 // int capacity
         0: .line 183
            aload 0 /* collectionType */
            ldc "Collection type must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 184
            aload 0 /* collectionType */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 9
         2: .line 185
            ldc Ljava/util/Set;
            aload 0 /* collectionType */
            if_acmpeq 3
            ldc Ljava/util/Collection;
            aload 0 /* collectionType */
            if_acmpne 4
         3: .line 186
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            iload 2 /* capacity */
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            areturn
         4: .line 188
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/List;
            aload 0 /* collectionType */
            if_acmpne 6
         5: .line 189
            new java.util.ArrayList
            dup
            iload 2 /* capacity */
            invokespecial java.util.ArrayList.<init>:(I)V
            areturn
         6: .line 191
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/SortedSet;
            aload 0 /* collectionType */
            if_acmpeq 7
            ldc Ljava/util/NavigableSet;
            aload 0 /* collectionType */
            if_acmpne 8
         7: .line 192
      StackMap locals:
      StackMap stack:
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            areturn
         8: .line 195
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported Collection interface: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* collectionType */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 198
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/EnumSet;
            aload 0 /* collectionType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 12
        10: .line 199
            aload 1 /* elementType */
            ldc "Cannot create EnumSet for unknown element type"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
        11: .line 201
            aload 1 /* elementType */
            invokestatic org.springframework.core.CollectionFactory.asEnumType:(Ljava/lang/Class;)Ljava/lang/Class;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            areturn
        12: .line 204
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Collection;
            aload 0 /* collectionType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 14
        13: .line 205
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported Collection type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* collectionType */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* collectionType */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.springframework.util.ReflectionUtils.accessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Collection
        15: areturn
        16: .line 210
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        17: .line 211
            new java.lang.IllegalArgumentException
            dup
        18: .line 212
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate Collection type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* collectionType */
            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;
            aload 3 /* ex */
        19: .line 211
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable ex
        end local 2 // int capacity
        end local 1 // java.lang.Class elementType
        end local 0 // java.lang.Class collectionType
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0  collectionType  Ljava/lang/Class<*>;
            0   20     1     elementType  Ljava/lang/Class<*>;
            0   20     2        capacity  I
           17   20     3              ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          14    15      16  Class java.lang.Throwable
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;I)Ljava/util/Collection<TE;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
                Name  Flags
      collectionType  
      elementType     
      capacity        

  public static boolean isApproximableMapType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class mapType
         0: .line 224
            aload 0 /* mapType */
            ifnull 1
            getstatic org.springframework.core.CollectionFactory.approximableMapTypes:Ljava/util/Set;
            aload 0 /* mapType */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Class mapType
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  mapType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      mapType  

  public static <K, V> java.util.Map<K, V> createApproximateMap(, int);
    descriptor: (Ljava/lang/Object;I)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Object map
        start local 1 // int capacity
         0: .line 246
            aload 0 /* map */
            instanceof java.util.EnumMap
            ifeq 4
         1: .line 247
            new java.util.EnumMap
            dup
            aload 0 /* map */
            checkcast java.util.EnumMap
            invokespecial java.util.EnumMap.<init>:(Ljava/util/EnumMap;)V
            astore 2 /* enumMap */
        start local 2 // java.util.EnumMap enumMap
         2: .line 248
            aload 2 /* enumMap */
            invokevirtual java.util.EnumMap.clear:()V
         3: .line 249
            aload 2 /* enumMap */
            areturn
        end local 2 // java.util.EnumMap enumMap
         4: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            instanceof java.util.SortedMap
            ifeq 6
         5: .line 252
            new java.util.TreeMap
            dup
            aload 0 /* map */
            checkcast java.util.SortedMap
            invokeinterface java.util.SortedMap.comparator:()Ljava/util/Comparator;
            invokespecial java.util.TreeMap.<init>:(Ljava/util/Comparator;)V
            areturn
         6: .line 255
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashMap
            dup
            iload 1 /* capacity */
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            areturn
        end local 1 // int capacity
        end local 0 // java.lang.Object map
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0       map  Ljava/lang/Object;
            0    7     1  capacity  I
            2    4     2   enumMap  Ljava/util/EnumMap;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Object;I)Ljava/util/Map<TK;TV;>;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
          Name  Flags
      map       
      capacity  

  public static <K, V> java.util.Map<K, V> createMap(java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;I)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class mapType
        start local 1 // int capacity
         0: .line 270
            aload 0 /* mapType */
            aconst_null
            iload 1 /* capacity */
            invokestatic org.springframework.core.CollectionFactory.createMap:(Ljava/lang/Class;Ljava/lang/Class;I)Ljava/util/Map;
            areturn
        end local 1 // int capacity
        end local 0 // java.lang.Class mapType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   mapType  Ljava/lang/Class<*>;
            0    1     1  capacity  I
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<*>;I)Ljava/util/Map<TK;TV;>;
    MethodParameters:
          Name  Flags
      mapType   
      capacity  

  public static <K, V> java.util.Map<K, V> createMap(java.lang.Class<?>, java.lang.Class<?>, int);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;I)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Class mapType
        start local 1 // java.lang.Class keyType
        start local 2 // int capacity
         0: .line 299
            aload 0 /* mapType */
            ldc "Map type must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 300
            aload 0 /* mapType */
            invokevirtual java.lang.Class.isInterface:()Z
            ifeq 9
         2: .line 301
            ldc Ljava/util/Map;
            aload 0 /* mapType */
            if_acmpne 4
         3: .line 302
            new java.util.LinkedHashMap
            dup
            iload 2 /* capacity */
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            areturn
         4: .line 304
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/SortedMap;
            aload 0 /* mapType */
            if_acmpeq 5
            ldc Ljava/util/NavigableMap;
            aload 0 /* mapType */
            if_acmpne 6
         5: .line 305
      StackMap locals:
      StackMap stack:
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            areturn
         6: .line 307
      StackMap locals:
      StackMap stack:
            ldc Lorg/springframework/util/MultiValueMap;
            aload 0 /* mapType */
            if_acmpne 8
         7: .line 308
            new org.springframework.util.LinkedMultiValueMap
            dup
            invokespecial org.springframework.util.LinkedMultiValueMap.<init>:()V
            areturn
         8: .line 311
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported Map interface: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* mapType */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 314
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/EnumMap;
            aload 0 /* mapType */
            if_acmpne 12
        10: .line 315
            aload 1 /* keyType */
            ldc "Cannot create EnumMap for unknown key type"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
        11: .line 316
            new java.util.EnumMap
            dup
            aload 1 /* keyType */
            invokestatic org.springframework.core.CollectionFactory.asEnumType:(Ljava/lang/Class;)Ljava/lang/Class;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            areturn
        12: .line 319
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Map;
            aload 0 /* mapType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 14
        13: .line 320
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported Map type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* mapType */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 323
      StackMap locals:
      StackMap stack:
            aload 0 /* mapType */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.springframework.util.ReflectionUtils.accessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        15: areturn
        16: .line 325
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        17: .line 326
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not instantiate Map type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* mapType */
            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;
            aload 3 /* ex */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable ex
        end local 2 // int capacity
        end local 1 // java.lang.Class keyType
        end local 0 // java.lang.Class mapType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0   mapType  Ljava/lang/Class<*>;
            0   18     1   keyType  Ljava/lang/Class<*>;
            0   18     2  capacity  I
           17   18     3        ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          14    15      16  Class java.lang.Throwable
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/Class<*>;Ljava/lang/Class<*>;I)Ljava/util/Map<TK;TV;>;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
      2:
    MethodParameters:
          Name  Flags
      mapType   
      keyType   
      capacity  

  public static java.util.Properties createStringAdaptingProperties();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 339
            new org.springframework.core.CollectionFactory$1
            dup
            invokespecial org.springframework.core.CollectionFactory$1.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Class<? extends java.lang.Enum> asEnumType(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Class enumType
         0: .line 357
            aload 0 /* enumType */
            ldc "Enum type must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 358
            ldc Ljava/lang/Enum;
            aload 0 /* enumType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 3
         2: .line 359
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Supplied type is not an enum: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* enumType */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* enumType */
            ldc Ljava/lang/Enum;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
            areturn
        end local 0 // java.lang.Class enumType
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  enumType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<+Ljava/lang/Enum;>;
    MethodParameters:
          Name  Flags
      enumType  
}
SourceFile: "CollectionFactory.java"
NestMembers:
  org.springframework.core.CollectionFactory$1
InnerClasses:
  org.springframework.core.CollectionFactory$1