public class net.bytebuddy.implementation.bytecode.collection.ArrayFactory implements net.bytebuddy.implementation.bytecode.collection.CollectionFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.bytebuddy.implementation.bytecode.collection.ArrayFactory
  super_class: java.lang.Object
{
  private final net.bytebuddy.description.type.TypeDescription$Generic componentType;
    descriptor: Lnet/bytebuddy/description/type/TypeDescription$Generic;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator arrayCreator;
    descriptor: Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final net.bytebuddy.implementation.bytecode.StackManipulation$Size sizeDecrease;
    descriptor: Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling(value = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort.IGNORE:Lnet/bytebuddy/build/HashCodeAndEqualsPlugin$ValueHandling$Sort;)

  protected void <init>(net.bytebuddy.description.type.TypeDescription$Generic, net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory this
        start local 1 // net.bytebuddy.description.type.TypeDescription$Generic componentType
        start local 2 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator arrayCreator
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            aload 1 /* componentType */
            putfield net.bytebuddy.implementation.bytecode.collection.ArrayFactory.componentType:Lnet/bytebuddy/description/type/TypeDescription$Generic;
         2: .line 66
            aload 0 /* this */
            aload 2 /* arrayCreator */
            putfield net.bytebuddy.implementation.bytecode.collection.ArrayFactory.arrayCreator:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator;
         3: .line 68
            aload 0 /* this */
            getstatic net.bytebuddy.implementation.bytecode.StackSize.DOUBLE:Lnet/bytebuddy/implementation/bytecode/StackSize;
            invokevirtual net.bytebuddy.implementation.bytecode.StackSize.toDecreasingSize:()Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
            aload 1 /* componentType */
            invokeinterface net.bytebuddy.description.type.TypeDescription$Generic.getStackSize:()Lnet/bytebuddy/implementation/bytecode/StackSize;
            invokevirtual net.bytebuddy.implementation.bytecode.StackSize.toDecreasingSize:()Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
            invokevirtual net.bytebuddy.implementation.bytecode.StackManipulation$Size.aggregate:(Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;)Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
            putfield net.bytebuddy.implementation.bytecode.collection.ArrayFactory.sizeDecrease:Lnet/bytebuddy/implementation/bytecode/StackManipulation$Size;
         4: .line 69
            return
        end local 2 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator arrayCreator
        end local 1 // net.bytebuddy.description.type.TypeDescription$Generic componentType
        end local 0 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory;
            0    5     1  componentType  Lnet/bytebuddy/description/type/TypeDescription$Generic;
            0    5     2   arrayCreator  Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator;
    MethodParameters:
               Name  Flags
      componentType  
      arrayCreator   

  public static net.bytebuddy.implementation.bytecode.collection.ArrayFactory forType(net.bytebuddy.description.type.TypeDescription$Generic);
    descriptor: (Lnet/bytebuddy/description/type/TypeDescription$Generic;)Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // net.bytebuddy.description.type.TypeDescription$Generic componentType
         0: .line 78
            new net.bytebuddy.implementation.bytecode.collection.ArrayFactory
            dup
            aload 0 /* componentType */
            aload 0 /* componentType */
            invokestatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory.makeArrayCreatorFor:(Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator;
            invokespecial net.bytebuddy.implementation.bytecode.collection.ArrayFactory.<init>:(Lnet/bytebuddy/description/type/TypeDescription$Generic;Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator;)V
            areturn
        end local 0 // net.bytebuddy.description.type.TypeDescription$Generic componentType
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0  componentType  Lnet/bytebuddy/description/type/TypeDescription$Generic;
    MethodParameters:
               Name  Flags
      componentType  

  private static net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator makeArrayCreatorFor(net.bytebuddy.description.type.TypeDefinition);
    descriptor: (Lnet/bytebuddy/description/type/TypeDefinition;)Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // net.bytebuddy.description.type.TypeDefinition componentType
         0: .line 88
            aload 0 /* componentType */
            invokeinterface net.bytebuddy.description.type.TypeDefinition.isPrimitive:()Z
            ifne 2
         1: .line 89
            new net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForReferenceType
            dup
            aload 0 /* componentType */
            invokeinterface net.bytebuddy.description.type.TypeDefinition.asErasure:()Lnet/bytebuddy/description/type/TypeDescription;
            invokespecial net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForReferenceType.<init>:(Lnet/bytebuddy/description/type/TypeDescription;)V
            areturn
         2: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 4
         3: .line 91
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.BOOLEAN:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
         4: .line 92
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 6
         5: .line 93
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.BYTE:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
         6: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 8
         7: .line 95
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.SHORT:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
         8: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 10
         9: .line 97
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.CHARACTER:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
        10: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 12
        11: .line 99
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.INTEGER:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
        12: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 14
        13: .line 101
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.LONG:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
        14: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 16
        15: .line 103
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.FLOAT:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
        16: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* componentType */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            invokeinterface net.bytebuddy.description.type.TypeDefinition.represents:(Ljava/lang/reflect/Type;)Z
            ifeq 18
        17: .line 105
            getstatic net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType.DOUBLE:Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory$ArrayCreator$ForPrimitiveType;
            areturn
        18: .line 107
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot create array of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* componentType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // net.bytebuddy.description.type.TypeDefinition componentType
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0  componentType  Lnet/bytebuddy/description/type/TypeDefinition;
    MethodParameters:
               Name  Flags
      componentType  

  public net.bytebuddy.implementation.bytecode.StackManipulation withValues(java.util.List<? extends net.bytebuddy.implementation.bytecode.StackManipulation>);
    descriptor: (Ljava/util/List;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory this
        start local 1 // java.util.List stackManipulations
         0: .line 115
            new net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayStackManipulation
            dup
            aload 0 /* this */
            aload 1 /* stackManipulations */
            invokespecial net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayStackManipulation.<init>:(Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory;Ljava/util/List;)V
            areturn
        end local 1 // java.util.List stackManipulations
        end local 0 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory;
            0    1     1  stackManipulations  Ljava/util/List<+Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;
    Signature: (Ljava/util/List<+Lnet/bytebuddy/implementation/bytecode/StackManipulation;>;)Lnet/bytebuddy/implementation/bytecode/StackManipulation;
    MethodParameters:
                    Name  Flags
      stackManipulations  

  public net.bytebuddy.description.type.TypeDescription$Generic getComponentType();
    descriptor: ()Lnet/bytebuddy/description/type/TypeDescription$Generic;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory this
         0: .line 122
            aload 0 /* this */
            getfield net.bytebuddy.implementation.bytecode.collection.ArrayFactory.componentType:Lnet/bytebuddy/description/type/TypeDescription$Generic;
            areturn
        end local 0 // net.bytebuddy.implementation.bytecode.collection.ArrayFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/bytebuddy/implementation/bytecode/collection/ArrayFactory;
}
SourceFile: "ArrayFactory.java"
NestMembers:
  net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator  net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType  net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForReferenceType  net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayStackManipulation
InnerClasses:
  public abstract Enhance = net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public abstract ValueHandling = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling of net.bytebuddy.build.HashCodeAndEqualsPlugin
  public final Sort = net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling$Sort of net.bytebuddy.build.HashCodeAndEqualsPlugin$ValueHandling
  public abstract Generic = net.bytebuddy.description.type.TypeDescription$Generic of net.bytebuddy.description.type.TypeDescription
  public Size = net.bytebuddy.implementation.bytecode.StackManipulation$Size of net.bytebuddy.implementation.bytecode.StackManipulation
  protected abstract ArrayCreator = net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator of net.bytebuddy.implementation.bytecode.collection.ArrayFactory
  public final ForPrimitiveType = net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForPrimitiveType of net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator
  public ForReferenceType = net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator$ForReferenceType of net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayCreator
  protected ArrayStackManipulation = net.bytebuddy.implementation.bytecode.collection.ArrayFactory$ArrayStackManipulation of net.bytebuddy.implementation.bytecode.collection.ArrayFactory
    RuntimeVisibleAnnotations: 
      net.bytebuddy.build.HashCodeAndEqualsPlugin$Enhance()