public final class org.apache.lucene.util.ArrayUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.lucene.util.ArrayUtil
  super_class: java.lang.Object
{
  public static final int MAX_ARRAY_LENGTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 28
            ldc Lorg/apache/lucene/util/ArrayUtil;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
         3: .line 31
            ldc 2147483647
            getstatic org.apache.lucene.util.RamUsageEstimator.NUM_BYTES_ARRAY_HEADER:I
            isub
            putstatic org.apache.lucene.util.ArrayUtil.MAX_ARRAY_LENGTH:I
            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.apache.lucene.util.ArrayUtil this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.lucene.util.ArrayUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/util/ArrayUtil;

  public static int parseInt(char[], int, int);
    descriptor: ([CII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // char[] chars
        start local 1 // int offset
        start local 2 // int len
         0: .line 51
            aload 0 /* chars */
            iload 1 /* offset */
            iload 2 /* len */
            bipush 10
            invokestatic org.apache.lucene.util.ArrayUtil.parseInt:([CIII)I
            ireturn
        end local 2 // int len
        end local 1 // int offset
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0   chars  [C
            0    1     1  offset  I
            0    1     2     len  I
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
        Name  Flags
      chars   
      offset  
      len     

  public static int parseInt(char[], int, int, int);
    descriptor: ([CIII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // char[] chars
        start local 1 // int offset
        start local 2 // int len
        start local 3 // int radix
         0: .line 67
            aload 0 /* chars */
            ifnull 2
            iload 3 /* radix */
            iconst_2
            if_icmplt 2
         1: .line 68
            iload 3 /* radix */
            bipush 36
            if_icmple 3
         2: .line 69
      StackMap locals:
      StackMap stack:
            new java.lang.NumberFormatException
            dup
            invokespecial java.lang.NumberFormatException.<init>:()V
            athrow
         3: .line 71
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: .line 72
            iload 2 /* len */
            ifne 6
         5: .line 73
            new java.lang.NumberFormatException
            dup
            ldc "chars length is 0"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 75
      StackMap locals: int
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* offset */
            iload 4 /* i */
            iadd
            caload
            bipush 45
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* negative */
        start local 5 // boolean negative
         9: .line 76
            iload 5 /* negative */
            ifeq 11
            iinc 4 /* i */ 1
            iload 4 /* i */
            iload 2 /* len */
            if_icmpne 11
        10: .line 77
            new java.lang.NumberFormatException
            dup
            ldc "can't convert to an int"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 79
      StackMap locals: int
      StackMap stack:
            iload 5 /* negative */
            ifeq 14
        12: .line 80
            iinc 1 /* offset */ 1
        13: .line 81
            iinc 2 /* len */ -1
        14: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* offset */
            iload 2 /* len */
            iload 3 /* radix */
            iload 5 /* negative */
            invokestatic org.apache.lucene.util.ArrayUtil.parse:([CIIIZ)I
            ireturn
        end local 5 // boolean negative
        end local 4 // int i
        end local 3 // int radix
        end local 2 // int len
        end local 1 // int offset
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0     chars  [C
            0   15     1    offset  I
            0   15     2       len  I
            0   15     3     radix  I
            4   15     4         i  I
            9   15     5  negative  Z
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
        Name  Flags
      chars   
      offset  
      len     
      radix   

  private static int parse(char[], int, int, int, boolean);
    descriptor: ([CIIIZ)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=5
        start local 0 // char[] chars
        start local 1 // int offset
        start local 2 // int len
        start local 3 // int radix
        start local 4 // boolean negative
         0: .line 89
            ldc -2147483648
            iload 3 /* radix */
            idiv
            istore 5 /* max */
        start local 5 // int max
         1: .line 90
            iconst_0
            istore 6 /* result */
        start local 6 // int result
         2: .line 91
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 14
         4: .line 92
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* chars */
            iload 7 /* i */
            iload 1 /* offset */
            iadd
            caload
            iload 3 /* radix */
            invokestatic java.lang.Character.digit:(CI)I
            istore 8 /* digit */
        start local 8 // int digit
         5: .line 93
            iload 8 /* digit */
            iconst_m1
            if_icmpne 7
         6: .line 94
            new java.lang.NumberFormatException
            dup
            ldc "Unable to parse"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 96
      StackMap locals: int
      StackMap stack:
            iload 5 /* max */
            iload 6 /* result */
            if_icmple 9
         8: .line 97
            new java.lang.NumberFormatException
            dup
            ldc "Unable to parse"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 99
      StackMap locals:
      StackMap stack:
            iload 6 /* result */
            iload 3 /* radix */
            imul
            iload 8 /* digit */
            isub
            istore 9 /* next */
        start local 9 // int next
        10: .line 100
            iload 9 /* next */
            iload 6 /* result */
            if_icmple 12
        11: .line 101
            new java.lang.NumberFormatException
            dup
            ldc "Unable to parse"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 103
      StackMap locals: int
      StackMap stack:
            iload 9 /* next */
            istore 6 /* result */
        end local 9 // int next
        end local 8 // int digit
        13: .line 91
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            iload 2 /* len */
            if_icmplt 4
        end local 7 // int i
        15: .line 108
            iload 4 /* negative */
            ifne 19
        16: .line 109
            iload 6 /* result */
            ineg
            istore 6 /* result */
        17: .line 110
            iload 6 /* result */
            ifge 19
        18: .line 111
            new java.lang.NumberFormatException
            dup
            ldc "Unable to parse"
            invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 114
      StackMap locals:
      StackMap stack:
            iload 6 /* result */
            ireturn
        end local 6 // int result
        end local 5 // int max
        end local 4 // boolean negative
        end local 3 // int radix
        end local 2 // int len
        end local 1 // int offset
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0     chars  [C
            0   20     1    offset  I
            0   20     2       len  I
            0   20     3     radix  I
            0   20     4  negative  Z
            1   20     5       max  I
            2   20     6    result  I
            3   15     7         i  I
            5   13     8     digit  I
           10   13     9      next  I
    Exceptions:
      throws java.lang.NumberFormatException
    MethodParameters:
          Name  Flags
      chars     
      offset    
      len       
      radix     
      negative  

  public static int oversize(int, int);
    descriptor: (II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // int minTargetSize
        start local 1 // int bytesPerElement
         0: .line 143
            iload 0 /* minTargetSize */
            ifge 2
         1: .line 145
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid array size "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* minTargetSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 148
      StackMap locals:
      StackMap stack:
            iload 0 /* minTargetSize */
            ifne 4
         3: .line 150
            iconst_0
            ireturn
         4: .line 153
      StackMap locals:
      StackMap stack:
            iload 0 /* minTargetSize */
            getstatic org.apache.lucene.util.ArrayUtil.MAX_ARRAY_LENGTH:I
            if_icmple 6
         5: .line 154
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "requested array size "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* minTargetSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " exceeds maximum array in java ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic org.apache.lucene.util.ArrayUtil.MAX_ARRAY_LENGTH:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            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
         6: .line 160
      StackMap locals:
      StackMap stack:
            iload 0 /* minTargetSize */
            iconst_3
            ishr
            istore 2 /* extra */
        start local 2 // int extra
         7: .line 162
            iload 2 /* extra */
            iconst_3
            if_icmpge 9
         8: .line 166
            iconst_3
            istore 2 /* extra */
         9: .line 169
      StackMap locals: int
      StackMap stack:
            iload 0 /* minTargetSize */
            iload 2 /* extra */
            iadd
            istore 3 /* newSize */
        start local 3 // int newSize
        10: .line 172
            iload 3 /* newSize */
            bipush 7
            iadd
            iflt 11
            iload 3 /* newSize */
            bipush 7
            iadd
            getstatic org.apache.lucene.util.ArrayUtil.MAX_ARRAY_LENGTH:I
            if_icmple 12
        11: .line 174
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.lucene.util.ArrayUtil.MAX_ARRAY_LENGTH:I
            ireturn
        12: .line 177
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.util.Constants.JRE_IS_64BIT:Z
            ifeq 18
        13: .line 179
            iload 1 /* bytesPerElement */
            tableswitch { // 1 - 8
                    1: 16
                    2: 15
                    3: 17
                    4: 14
                    5: 17
                    6: 17
                    7: 17
                    8: 17
              default: 17
          }
        14: .line 182
      StackMap locals:
      StackMap stack:
            iload 3 /* newSize */
            iconst_1
            iadd
            ldc 2147483646
            iand
            ireturn
        15: .line 185
      StackMap locals:
      StackMap stack:
            iload 3 /* newSize */
            iconst_3
            iadd
            ldc 2147483644
            iand
            ireturn
        16: .line 188
      StackMap locals:
      StackMap stack:
            iload 3 /* newSize */
            bipush 7
            iadd
            ldc 2147483640
            iand
            ireturn
        17: .line 193
      StackMap locals:
      StackMap stack:
            iload 3 /* newSize */
            ireturn
        18: .line 197
      StackMap locals:
      StackMap stack:
            iload 1 /* bytesPerElement */
            tableswitch { // 1 - 8
                    1: 20
                    2: 19
                    3: 21
                    4: 21
                    5: 21
                    6: 21
                    7: 21
                    8: 21
              default: 21
          }
        19: .line 200
      StackMap locals:
      StackMap stack:
            iload 3 /* newSize */
            iconst_1
            iadd
            ldc 2147483646
            iand
            ireturn
        20: .line 203
      StackMap locals:
      StackMap stack:
            iload 3 /* newSize */
            iconst_3
            iadd
            ldc 2147483644
            iand
            ireturn
        21: .line 209
      StackMap locals:
      StackMap stack:
            iload 3 /* newSize */
            ireturn
        end local 3 // int newSize
        end local 2 // int extra
        end local 1 // int bytesPerElement
        end local 0 // int minTargetSize
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0    minTargetSize  I
            0   22     1  bytesPerElement  I
            7   22     2            extra  I
           10   22     3          newSize  I
    MethodParameters:
                 Name  Flags
      minTargetSize    
      bytesPerElement  

  public static <T> T[] growExact(T[], );
    descriptor: ([Ljava/lang/Object;I)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // int newLength
         0: .line 216
            aload 0 /* array */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* type */
        start local 2 // java.lang.Class type
         1: .line 218
            aload 2 /* type */
            ldc [Ljava/lang/Object;
            if_acmpne 3
         2: .line 219
            iload 1 /* newLength */
            anewarray java.lang.Object
            goto 4
         3: .line 220
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* type */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 1 /* newLength */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
         4: .line 218
      StackMap locals:
      StackMap stack: java.lang.Object[]
            astore 3 /* copy */
        start local 3 // java.lang.Object[] copy
         5: .line 221
            aload 0 /* array */
            iconst_0
            aload 3 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 222
            aload 3 /* copy */
            areturn
        end local 3 // java.lang.Object[] copy
        end local 2 // java.lang.Class type
        end local 1 // int newLength
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      array  [Ljava/lang/Object;
            0    7     1  newLength  I
            1    7     2       type  Ljava/lang/Class<+[Ljava/lang/Object;>;
            5    7     3       copy  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;I)[TT;
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static <T> T[] grow(T[], );
    descriptor: ([Ljava/lang/Object;I)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // int minSize
         0: .line 227
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 4
         2: .line 229
            iload 1 /* minSize */
            getstatic org.apache.lucene.util.RamUsageEstimator.NUM_BYTES_OBJECT_REF:I
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            istore 2 /* newLength */
        start local 2 // int newLength
         3: .line 230
            aload 0 /* array */
            iload 2 /* newLength */
            invokestatic org.apache.lucene.util.ArrayUtil.growExact:([Ljava/lang/Object;I)[Ljava/lang/Object;
            areturn
        end local 2 // int newLength
         4: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0      array  [Ljava/lang/Object;
            0    5     1    minSize  I
            3    4     2  newLength  I
    Signature: <T:Ljava/lang/Object;>([TT;I)[TT;
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static short[] growExact(short[], int);
    descriptor: ([SI)[S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // short[] array
        start local 1 // int newLength
         0: .line 237
            iload 1 /* newLength */
            newarray 9
            astore 2 /* copy */
        start local 2 // short[] copy
         1: .line 238
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 239
            aload 2 /* copy */
            areturn
        end local 2 // short[] copy
        end local 1 // int newLength
        end local 0 // short[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [S
            0    3     1  newLength  I
            1    3     2       copy  [S
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static short[] grow(short[], int);
    descriptor: ([SI)[S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // short[] array
        start local 1 // int minSize
         0: .line 244
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 3
         2: .line 246
            aload 0 /* array */
            iload 1 /* minSize */
            iconst_2
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            invokestatic org.apache.lucene.util.ArrayUtil.growExact:([SI)[S
            areturn
         3: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // short[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    array  [S
            0    4     1  minSize  I
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static short[] grow(short[]);
    descriptor: ([S)[S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // short[] array
         0: .line 253
            aload 0 /* array */
            iconst_1
            aload 0 /* array */
            arraylength
            iadd
            invokestatic org.apache.lucene.util.ArrayUtil.grow:([SI)[S
            areturn
        end local 0 // short[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [S
    MethodParameters:
       Name  Flags
      array  

  public static float[] growExact(float[], int);
    descriptor: ([FI)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // float[] array
        start local 1 // int newLength
         0: .line 258
            iload 1 /* newLength */
            newarray 6
            astore 2 /* copy */
        start local 2 // float[] copy
         1: .line 259
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 260
            aload 2 /* copy */
            areturn
        end local 2 // float[] copy
        end local 1 // int newLength
        end local 0 // float[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [F
            0    3     1  newLength  I
            1    3     2       copy  [F
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static float[] grow(float[], int);
    descriptor: ([FI)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // float[] array
        start local 1 // int minSize
         0: .line 265
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 5
         2: .line 267
            iload 1 /* minSize */
            iconst_4
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            newarray 6
            astore 2 /* copy */
        start local 2 // float[] copy
         3: .line 268
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 269
            aload 2 /* copy */
            areturn
        end local 2 // float[] copy
         5: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // float[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0    array  [F
            0    6     1  minSize  I
            3    5     2     copy  [F
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static float[] grow(float[]);
    descriptor: ([F)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // float[] array
         0: .line 276
            aload 0 /* array */
            iconst_1
            aload 0 /* array */
            arraylength
            iadd
            invokestatic org.apache.lucene.util.ArrayUtil.grow:([FI)[F
            areturn
        end local 0 // float[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [F
    MethodParameters:
       Name  Flags
      array  

  public static double[] growExact(double[], int);
    descriptor: ([DI)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // double[] array
        start local 1 // int newLength
         0: .line 281
            iload 1 /* newLength */
            newarray 7
            astore 2 /* copy */
        start local 2 // double[] copy
         1: .line 282
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 283
            aload 2 /* copy */
            areturn
        end local 2 // double[] copy
        end local 1 // int newLength
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [D
            0    3     1  newLength  I
            1    3     2       copy  [D
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static double[] grow(double[], int);
    descriptor: ([DI)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // double[] array
        start local 1 // int minSize
         0: .line 288
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 3
         2: .line 290
            aload 0 /* array */
            iload 1 /* minSize */
            bipush 8
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            invokestatic org.apache.lucene.util.ArrayUtil.growExact:([DI)[D
            areturn
         3: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    array  [D
            0    4     1  minSize  I
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static double[] grow(double[]);
    descriptor: ([D)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // double[] array
         0: .line 297
            aload 0 /* array */
            iconst_1
            aload 0 /* array */
            arraylength
            iadd
            invokestatic org.apache.lucene.util.ArrayUtil.grow:([DI)[D
            areturn
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [D
    MethodParameters:
       Name  Flags
      array  

  public static int[] growExact(int[], int);
    descriptor: ([II)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // int[] array
        start local 1 // int newLength
         0: .line 302
            iload 1 /* newLength */
            newarray 10
            astore 2 /* copy */
        start local 2 // int[] copy
         1: .line 303
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 304
            aload 2 /* copy */
            areturn
        end local 2 // int[] copy
        end local 1 // int newLength
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [I
            0    3     1  newLength  I
            1    3     2       copy  [I
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static int[] grow(int[], int);
    descriptor: ([II)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int[] array
        start local 1 // int minSize
         0: .line 309
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 3
         2: .line 311
            aload 0 /* array */
            iload 1 /* minSize */
            iconst_4
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            invokestatic org.apache.lucene.util.ArrayUtil.growExact:([II)[I
            areturn
         3: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    array  [I
            0    4     1  minSize  I
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static int[] grow(int[]);
    descriptor: ([I)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int[] array
         0: .line 318
            aload 0 /* array */
            iconst_1
            aload 0 /* array */
            arraylength
            iadd
            invokestatic org.apache.lucene.util.ArrayUtil.grow:([II)[I
            areturn
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [I
    MethodParameters:
       Name  Flags
      array  

  public static long[] growExact(long[], int);
    descriptor: ([JI)[J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // long[] array
        start local 1 // int newLength
         0: .line 323
            iload 1 /* newLength */
            newarray 11
            astore 2 /* copy */
        start local 2 // long[] copy
         1: .line 324
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 325
            aload 2 /* copy */
            areturn
        end local 2 // long[] copy
        end local 1 // int newLength
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [J
            0    3     1  newLength  I
            1    3     2       copy  [J
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static long[] grow(long[], int);
    descriptor: ([JI)[J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // long[] array
        start local 1 // int minSize
         0: .line 330
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 331
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 3
         2: .line 332
            aload 0 /* array */
            iload 1 /* minSize */
            bipush 8
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            invokestatic org.apache.lucene.util.ArrayUtil.growExact:([JI)[J
            areturn
         3: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    array  [J
            0    4     1  minSize  I
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static long[] grow(long[]);
    descriptor: ([J)[J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // long[] array
         0: .line 339
            aload 0 /* array */
            iconst_1
            aload 0 /* array */
            arraylength
            iadd
            invokestatic org.apache.lucene.util.ArrayUtil.grow:([JI)[J
            areturn
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [J
    MethodParameters:
       Name  Flags
      array  

  public static byte[] growExact(byte[], int);
    descriptor: ([BI)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // byte[] array
        start local 1 // int newLength
         0: .line 344
            iload 1 /* newLength */
            newarray 8
            astore 2 /* copy */
        start local 2 // byte[] copy
         1: .line 345
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 346
            aload 2 /* copy */
            areturn
        end local 2 // byte[] copy
        end local 1 // int newLength
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [B
            0    3     1  newLength  I
            1    3     2       copy  [B
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static byte[] grow(byte[], int);
    descriptor: ([BI)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // byte[] array
        start local 1 // int minSize
         0: .line 351
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 352
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 3
         2: .line 353
            aload 0 /* array */
            iload 1 /* minSize */
            iconst_1
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            invokestatic org.apache.lucene.util.ArrayUtil.growExact:([BI)[B
            areturn
         3: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    array  [B
            0    4     1  minSize  I
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static byte[] grow(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // byte[] array
         0: .line 360
            aload 0 /* array */
            iconst_1
            aload 0 /* array */
            arraylength
            iadd
            invokestatic org.apache.lucene.util.ArrayUtil.grow:([BI)[B
            areturn
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [B
    MethodParameters:
       Name  Flags
      array  

  public static char[] growExact(char[], int);
    descriptor: ([CI)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // char[] array
        start local 1 // int newLength
         0: .line 365
            iload 1 /* newLength */
            newarray 5
            astore 2 /* copy */
        start local 2 // char[] copy
         1: .line 366
            aload 0 /* array */
            iconst_0
            aload 2 /* copy */
            iconst_0
            aload 0 /* array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 367
            aload 2 /* copy */
            areturn
        end local 2 // char[] copy
        end local 1 // int newLength
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      array  [C
            0    3     1  newLength  I
            1    3     2       copy  [C
    MethodParameters:
           Name  Flags
      array      
      newLength  

  public static char[] grow(char[], int);
    descriptor: ([CI)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // char[] array
        start local 1 // int minSize
         0: .line 372
            getstatic org.apache.lucene.util.ArrayUtil.$assertionsDisabled:Z
            ifne 1
            iload 1 /* minSize */
            ifge 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "size must be positive (got "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* minSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "): likely integer overflow?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 373
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            arraylength
            iload 1 /* minSize */
            if_icmpge 3
         2: .line 374
            aload 0 /* array */
            iload 1 /* minSize */
            iconst_2
            invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
            invokestatic org.apache.lucene.util.ArrayUtil.growExact:([CI)[C
            areturn
         3: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            areturn
        end local 1 // int minSize
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0    array  [C
            0    4     1  minSize  I
    MethodParameters:
         Name  Flags
      array    
      minSize  

  public static char[] grow(char[]);
    descriptor: ([C)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] array
         0: .line 381
            aload 0 /* array */
            iconst_1
            aload 0 /* array */
            arraylength
            iadd
            invokestatic org.apache.lucene.util.ArrayUtil.grow:([CI)[C
            areturn
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [C
    MethodParameters:
       Name  Flags
      array  

  public static int hashCode(char[], int, int);
    descriptor: ([CII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // char[] array
        start local 1 // int start
        start local 2 // int end
         0: .line 389
            iconst_0
            istore 3 /* code */
        start local 3 // int code
         1: .line 390
            iload 2 /* end */
            iconst_1
            isub
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 391
      StackMap locals: int int
      StackMap stack:
            iload 3 /* code */
            bipush 31
            imul
            aload 0 /* array */
            iload 4 /* i */
            caload
            iadd
            istore 3 /* code */
         4: .line 390
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            iload 1 /* start */
            if_icmpge 3
        end local 4 // int i
         6: .line 392
            iload 3 /* code */
            ireturn
        end local 3 // int code
        end local 2 // int end
        end local 1 // int start
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  array  [C
            0    7     1  start  I
            0    7     2    end  I
            1    7     3   code  I
            2    6     4      i  I
    MethodParameters:
       Name  Flags
      array  
      start  
      end    

  public static <T> void swap(T[], int, );
    descriptor: ([Ljava/lang/Object;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.lang.Object[] arr
        start local 1 // int i
        start local 2 // int j
         0: .line 397
            aload 0 /* arr */
            iload 1 /* i */
            aaload
            astore 3 /* tmp */
        start local 3 // java.lang.Object tmp
         1: .line 398
            aload 0 /* arr */
            iload 1 /* i */
            aload 0 /* arr */
            iload 2 /* j */
            aaload
            aastore
         2: .line 399
            aload 0 /* arr */
            iload 2 /* j */
            aload 3 /* tmp */
            aastore
         3: .line 400
            return
        end local 3 // java.lang.Object tmp
        end local 2 // int j
        end local 1 // int i
        end local 0 // java.lang.Object[] arr
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   arr  [Ljava/lang/Object;
            0    4     1     i  I
            0    4     2     j  I
            1    4     3   tmp  TT;
    Signature: <T:Ljava/lang/Object;>([TT;II)V
    MethodParameters:
      Name  Flags
      arr   
      i     
      j     

  public static <T> void introSort(T[], int, int, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.Comparator comp
         0: .line 411
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            iconst_1
            if_icmpgt 1
            return
         1: .line 412
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.util.ArrayIntroSorter
            dup
            aload 0 /* a */
            aload 3 /* comp */
            invokespecial org.apache.lucene.util.ArrayIntroSorter.<init>:([Ljava/lang/Object;Ljava/util/Comparator;)V
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokevirtual org.apache.lucene.util.ArrayIntroSorter.sort:(II)V
         2: .line 413
            return
        end local 3 // java.util.Comparator comp
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [Ljava/lang/Object;
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
            0    3     3       comp  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      comp       

  public static <T> void introSort(T[], java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.util.Comparator comp
         0: .line 420
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            aload 1 /* comp */
            invokestatic org.apache.lucene.util.ArrayUtil.introSort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         1: .line 421
            return
        end local 1 // java.util.Comparator comp
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [Ljava/lang/Object;
            0    2     1  comp  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      a     
      comp  

  public static <T extends java.lang.Comparable<? super T>> void introSort(T[], int, );
    descriptor: ([Ljava/lang/Comparable;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Comparable[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 430
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            iconst_1
            if_icmpgt 1
            return
         1: .line 431
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            invokestatic org.apache.lucene.util.ArrayUtil.introSort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         2: .line 432
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Comparable[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [Ljava/lang/Comparable;
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;II)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static <T extends java.lang.Comparable<? super T>> void introSort();
    descriptor: ([Ljava/lang/Comparable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Comparable[] a
         0: .line 439
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            invokestatic org.apache.lucene.util.ArrayUtil.introSort:([Ljava/lang/Comparable;II)V
         1: .line 440
            return
        end local 0 // java.lang.Comparable[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [Ljava/lang/Comparable;
    Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;)V
    MethodParameters:
      Name  Flags
      a     

  public static <T> void timSort(T[], int, int, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Object[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // java.util.Comparator comp
         0: .line 451
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            iconst_1
            if_icmpgt 1
            return
         1: .line 452
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.util.ArrayTimSorter
            dup
            aload 0 /* a */
            aload 3 /* comp */
            aload 0 /* a */
            arraylength
            bipush 64
            idiv
            invokespecial org.apache.lucene.util.ArrayTimSorter.<init>:([Ljava/lang/Object;Ljava/util/Comparator;I)V
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokevirtual org.apache.lucene.util.ArrayTimSorter.sort:(II)V
         2: .line 453
            return
        end local 3 // java.util.Comparator comp
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [Ljava/lang/Object;
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
            0    3     3       comp  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    
      comp       

  public static <T> void timSort(T[], java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object[] a
        start local 1 // java.util.Comparator comp
         0: .line 460
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            aload 1 /* comp */
            invokestatic org.apache.lucene.util.ArrayUtil.timSort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         1: .line 461
            return
        end local 1 // java.util.Comparator comp
        end local 0 // java.lang.Object[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [Ljava/lang/Object;
            0    2     1  comp  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
    MethodParameters:
      Name  Flags
      a     
      comp  

  public static <T extends java.lang.Comparable<? super T>> void timSort(T[], int, );
    descriptor: ([Ljava/lang/Comparable;II)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Comparable[] a
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 470
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            iconst_1
            if_icmpgt 1
            return
         1: .line 471
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            invokestatic org.apache.lucene.util.ArrayUtil.timSort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         2: .line 472
            return
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Comparable[] a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0          a  [Ljava/lang/Comparable;
            0    3     1  fromIndex  I
            0    3     2    toIndex  I
    Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;II)V
    MethodParameters:
           Name  Flags
      a          
      fromIndex  
      toIndex    

  public static <T extends java.lang.Comparable<? super T>> void timSort();
    descriptor: ([Ljava/lang/Comparable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Comparable[] a
         0: .line 479
            aload 0 /* a */
            iconst_0
            aload 0 /* a */
            arraylength
            invokestatic org.apache.lucene.util.ArrayUtil.timSort:([Ljava/lang/Comparable;II)V
         1: .line 480
            return
        end local 0 // java.lang.Comparable[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     a  [Ljava/lang/Comparable;
    Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;)V
    MethodParameters:
      Name  Flags
      a     

  public static <T> void select(T[], int, int, int, java.util.Comparator<? super T>);
    descriptor: ([Ljava/lang/Object;IIILjava/util/Comparator;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.lang.Object[] arr
        start local 1 // int from
        start local 2 // int to
        start local 3 // int k
        start local 4 // java.util.Comparator comparator
         0: .line 500
            new org.apache.lucene.util.ArrayUtil$1
            dup
            aload 0 /* arr */
            aload 4 /* comparator */
            invokespecial org.apache.lucene.util.ArrayUtil$1.<init>:([Ljava/lang/Object;Ljava/util/Comparator;)V
         1: .line 518
            iload 1 /* from */
            iload 2 /* to */
            iload 3 /* k */
            invokevirtual org.apache.lucene.util.ArrayUtil$1.select:(III)V
         2: .line 519
            return
        end local 4 // java.util.Comparator comparator
        end local 3 // int k
        end local 2 // int to
        end local 1 // int from
        end local 0 // java.lang.Object[] arr
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0         arr  [Ljava/lang/Object;
            0    3     1        from  I
            0    3     2          to  I
            0    3     3           k  I
            0    3     4  comparator  Ljava/util/Comparator<-TT;>;
    Signature: <T:Ljava/lang/Object;>([TT;IIILjava/util/Comparator<-TT;>;)V
    MethodParameters:
            Name  Flags
      arr         
      from        
      to          
      k           
      comparator  

  public static byte[] copyOfSubArray(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // byte[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 528
            iload 2 /* to */
            iload 1 /* from */
            isub
            newarray 8
            astore 3 /* copy */
        start local 3 // byte[] copy
         1: .line 529
            aload 0 /* array */
            iload 1 /* from */
            aload 3 /* copy */
            iconst_0
            iload 2 /* to */
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 530
            aload 3 /* copy */
            areturn
        end local 3 // byte[] copy
        end local 2 // int to
        end local 1 // int from
        end local 0 // byte[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [B
            0    3     1   from  I
            0    3     2     to  I
            1    3     3   copy  [B
    MethodParameters:
       Name  Flags
      array  
      from   
      to     

  public static char[] copyOfSubArray(char[], int, int);
    descriptor: ([CII)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // char[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 540
            iload 2 /* to */
            iload 1 /* from */
            isub
            newarray 5
            astore 3 /* copy */
        start local 3 // char[] copy
         1: .line 541
            aload 0 /* array */
            iload 1 /* from */
            aload 3 /* copy */
            iconst_0
            iload 2 /* to */
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 542
            aload 3 /* copy */
            areturn
        end local 3 // char[] copy
        end local 2 // int to
        end local 1 // int from
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [C
            0    3     1   from  I
            0    3     2     to  I
            1    3     3   copy  [C
    MethodParameters:
       Name  Flags
      array  
      from   
      to     

  public static short[] copyOfSubArray(short[], int, int);
    descriptor: ([SII)[S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // short[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 552
            iload 2 /* to */
            iload 1 /* from */
            isub
            newarray 9
            astore 3 /* copy */
        start local 3 // short[] copy
         1: .line 553
            aload 0 /* array */
            iload 1 /* from */
            aload 3 /* copy */
            iconst_0
            iload 2 /* to */
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 554
            aload 3 /* copy */
            areturn
        end local 3 // short[] copy
        end local 2 // int to
        end local 1 // int from
        end local 0 // short[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [S
            0    3     1   from  I
            0    3     2     to  I
            1    3     3   copy  [S
    MethodParameters:
       Name  Flags
      array  
      from   
      to     

  public static int[] copyOfSubArray(int[], int, int);
    descriptor: ([III)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // int[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 564
            iload 2 /* to */
            iload 1 /* from */
            isub
            newarray 10
            astore 3 /* copy */
        start local 3 // int[] copy
         1: .line 565
            aload 0 /* array */
            iload 1 /* from */
            aload 3 /* copy */
            iconst_0
            iload 2 /* to */
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 566
            aload 3 /* copy */
            areturn
        end local 3 // int[] copy
        end local 2 // int to
        end local 1 // int from
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [I
            0    3     1   from  I
            0    3     2     to  I
            1    3     3   copy  [I
    MethodParameters:
       Name  Flags
      array  
      from   
      to     

  public static long[] copyOfSubArray(long[], int, int);
    descriptor: ([JII)[J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // long[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 576
            iload 2 /* to */
            iload 1 /* from */
            isub
            newarray 11
            astore 3 /* copy */
        start local 3 // long[] copy
         1: .line 577
            aload 0 /* array */
            iload 1 /* from */
            aload 3 /* copy */
            iconst_0
            iload 2 /* to */
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 578
            aload 3 /* copy */
            areturn
        end local 3 // long[] copy
        end local 2 // int to
        end local 1 // int from
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [J
            0    3     1   from  I
            0    3     2     to  I
            1    3     3   copy  [J
    MethodParameters:
       Name  Flags
      array  
      from   
      to     

  public static float[] copyOfSubArray(float[], int, int);
    descriptor: ([FII)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // float[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 588
            iload 2 /* to */
            iload 1 /* from */
            isub
            newarray 6
            astore 3 /* copy */
        start local 3 // float[] copy
         1: .line 589
            aload 0 /* array */
            iload 1 /* from */
            aload 3 /* copy */
            iconst_0
            iload 2 /* to */
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 590
            aload 3 /* copy */
            areturn
        end local 3 // float[] copy
        end local 2 // int to
        end local 1 // int from
        end local 0 // float[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [F
            0    3     1   from  I
            0    3     2     to  I
            1    3     3   copy  [F
    MethodParameters:
       Name  Flags
      array  
      from   
      to     

  public static double[] copyOfSubArray(double[], int, int);
    descriptor: ([DII)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // double[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 600
            iload 2 /* to */
            iload 1 /* from */
            isub
            newarray 7
            astore 3 /* copy */
        start local 3 // double[] copy
         1: .line 601
            aload 0 /* array */
            iload 1 /* from */
            aload 3 /* copy */
            iconst_0
            iload 2 /* to */
            iload 1 /* from */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 602
            aload 3 /* copy */
            areturn
        end local 3 // double[] copy
        end local 2 // int to
        end local 1 // int from
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  array  [D
            0    3     1   from  I
            0    3     2     to  I
            1    3     3   copy  [D
    MethodParameters:
       Name  Flags
      array  
      from   
      to     

  public static <T> T[] copyOfSubArray(T[], int, );
    descriptor: ([Ljava/lang/Object;II)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.Object[] array
        start local 1 // int from
        start local 2 // int to
         0: .line 612
            iload 2 /* to */
            iload 1 /* from */
            isub
            istore 3 /* subLength */
        start local 3 // int subLength
         1: .line 613
            aload 0 /* array */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 4 /* type */
        start local 4 // java.lang.Class type
         2: .line 615
            aload 4 /* type */
            ldc [Ljava/lang/Object;
            if_acmpne 4
         3: .line 616
            iload 3 /* subLength */
            anewarray java.lang.Object
            goto 5
         4: .line 617
      StackMap locals: int java.lang.Class
      StackMap stack:
            aload 4 /* type */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 3 /* subLength */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
         5: .line 615
      StackMap locals:
      StackMap stack: java.lang.Object[]
            astore 5 /* copy */
        start local 5 // java.lang.Object[] copy
         6: .line 618
            aload 0 /* array */
            iload 1 /* from */
            aload 5 /* copy */
            iconst_0
            iload 3 /* subLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 619
            aload 5 /* copy */
            areturn
        end local 5 // java.lang.Object[] copy
        end local 4 // java.lang.Class type
        end local 3 // int subLength
        end local 2 // int to
        end local 1 // int from
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0      array  [Ljava/lang/Object;
            0    8     1       from  I
            0    8     2         to  I
            1    8     3  subLength  I
            2    8     4       type  Ljava/lang/Class<+[Ljava/lang/Object;>;
            6    8     5       copy  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;II)[TT;
    MethodParameters:
       Name  Flags
      array  
      from   
      to     
}
SourceFile: "ArrayUtil.java"
NestMembers:
  org.apache.lucene.util.ArrayUtil$1
InnerClasses:
  org.apache.lucene.util.ArrayUtil$1