public final class org.hibernate.internal.util.collections.ArrayHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.hibernate.internal.util.collections.ArrayHelper
  super_class: java.lang.Object
{
  public static final boolean[] TRUE;
    descriptor: [Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean[] FALSE;
    descriptor: [Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String[] EMPTY_STRING_ARRAY;
    descriptor: [Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int[] EMPTY_INT_ARRAY;
    descriptor: [I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean[] EMPTY_BOOLEAN_ARRAY;
    descriptor: [Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Class[] EMPTY_CLASS_ARRAY;
    descriptor: [Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.Object[] EMPTY_OBJECT_ARRAY;
    descriptor: [Ljava/lang/Object;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.hibernate.type.Type[] EMPTY_TYPE_ARRAY;
    descriptor: [Lorg/hibernate/type/Type;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final byte[] EMPTY_BYTE_ARRAY;
    descriptor: [B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static int SEED;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static int PRIME_NUMER;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 198
            iconst_1
            newarray 4
            dup
            iconst_0
            iconst_1
            bastore
            putstatic org.hibernate.internal.util.collections.ArrayHelper.TRUE:[Z
         1: .line 199
            iconst_1
            newarray 4
            putstatic org.hibernate.internal.util.collections.ArrayHelper.FALSE:[Z
         2: .line 263
            iconst_0
            anewarray java.lang.String
            putstatic org.hibernate.internal.util.collections.ArrayHelper.EMPTY_STRING_ARRAY:[Ljava/lang/String;
         3: .line 264
            iconst_0
            newarray 10
            putstatic org.hibernate.internal.util.collections.ArrayHelper.EMPTY_INT_ARRAY:[I
         4: .line 265
            iconst_0
            newarray 4
            putstatic org.hibernate.internal.util.collections.ArrayHelper.EMPTY_BOOLEAN_ARRAY:[Z
         5: .line 266
            iconst_0
            anewarray java.lang.Class
            putstatic org.hibernate.internal.util.collections.ArrayHelper.EMPTY_CLASS_ARRAY:[Ljava/lang/Class;
         6: .line 267
            iconst_0
            anewarray java.lang.Object
            putstatic org.hibernate.internal.util.collections.ArrayHelper.EMPTY_OBJECT_ARRAY:[Ljava/lang/Object;
         7: .line 268
            iconst_0
            anewarray org.hibernate.type.Type
            putstatic org.hibernate.internal.util.collections.ArrayHelper.EMPTY_TYPE_ARRAY:[Lorg/hibernate/type/Type;
         8: .line 269
            iconst_0
            newarray 8
            putstatic org.hibernate.internal.util.collections.ArrayHelper.EMPTY_BYTE_ARRAY:[B
         9: .line 299
            bipush 23
            putstatic org.hibernate.internal.util.collections.ArrayHelper.SEED:I
        10: .line 300
            bipush 37
            putstatic org.hibernate.internal.util.collections.ArrayHelper.PRIME_NUMER:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean contains(java.lang.Object[], java.lang.Object);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // java.lang.Object object
         0: .line 43
            aload 0 /* array */
            aload 1 /* object */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.indexOf:([Ljava/lang/Object;Ljava/lang/Object;)I
            iconst_m1
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object object
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   array  [Ljava/lang/Object;
            0    2     1  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      array   
      object  

  public static int indexOf(java.lang.Object[], java.lang.Object);
    descriptor: ([Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // java.lang.Object object
         0: .line 47
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 48
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* i */
            aaload
            aload 1 /* object */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 49
            iload 2 /* i */
            ireturn
         4: .line 47
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 51
            iconst_m1
            ireturn
        end local 1 // java.lang.Object object
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   array  [Ljava/lang/Object;
            0    7     1  object  Ljava/lang/Object;
            1    6     2       i  I
    MethodParameters:
        Name  Flags
      array   
      object  

  public static java.lang.String[] toStringArray(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Object[] objects
         0: .line 61
            aload 0 /* objects */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 62
            iload 1 /* length */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 63
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 64
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 0 /* objects */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aastore
         5: .line 63
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         7: .line 66
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // int length
        end local 0 // java.lang.Object[] objects
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  objects  [Ljava/lang/Object;
            1    8     1   length  I
            2    8     2   result  [Ljava/lang/String;
            3    7     3        i  I
    MethodParameters:
         Name  Flags
      objects  

  public static java.lang.String[] fillArray(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String value
        start local 1 // int length
         0: .line 70
            iload 1 /* length */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         1: .line 71
            aload 2 /* result */
            aload 0 /* value */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 72
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // int length
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   value  Ljava/lang/String;
            0    3     1  length  I
            1    3     2  result  [Ljava/lang/String;
    MethodParameters:
        Name  Flags
      value   
      length  

  public static int[] fillArray(int, int);
    descriptor: (II)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // int value
        start local 1 // int length
         0: .line 76
            iload 1 /* length */
            newarray 10
            astore 2 /* result */
        start local 2 // int[] result
         1: .line 77
            aload 2 /* result */
            iload 0 /* value */
            invokestatic java.util.Arrays.fill:([II)V
         2: .line 78
            aload 2 /* result */
            areturn
        end local 2 // int[] result
        end local 1 // int length
        end local 0 // int value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   value  I
            0    3     1  length  I
            1    3     2  result  [I
    MethodParameters:
        Name  Flags
      value   
      length  

  public static org.hibernate.LockMode[] fillArray(org.hibernate.LockMode, int);
    descriptor: (Lorg/hibernate/LockMode;I)[Lorg/hibernate/LockMode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.LockMode lockMode
        start local 1 // int length
         0: .line 82
            iload 1 /* length */
            anewarray org.hibernate.LockMode
            astore 2 /* array */
        start local 2 // org.hibernate.LockMode[] array
         1: .line 83
            aload 2 /* array */
            aload 0 /* lockMode */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 84
            aload 2 /* array */
            areturn
        end local 2 // org.hibernate.LockMode[] array
        end local 1 // int length
        end local 0 // org.hibernate.LockMode lockMode
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  lockMode  Lorg/hibernate/LockMode;
            0    3     1    length  I
            1    3     2     array  [Lorg/hibernate/LockMode;
    MethodParameters:
          Name  Flags
      lockMode  
      length    

  public static org.hibernate.LockOptions[] fillArray(org.hibernate.LockOptions, int);
    descriptor: (Lorg/hibernate/LockOptions;I)[Lorg/hibernate/LockOptions;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.LockOptions lockOptions
        start local 1 // int length
         0: .line 88
            iload 1 /* length */
            anewarray org.hibernate.LockOptions
            astore 2 /* array */
        start local 2 // org.hibernate.LockOptions[] array
         1: .line 89
            aload 2 /* array */
            aload 0 /* lockOptions */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 90
            aload 2 /* array */
            areturn
        end local 2 // org.hibernate.LockOptions[] array
        end local 1 // int length
        end local 0 // org.hibernate.LockOptions lockOptions
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  lockOptions  Lorg/hibernate/LockOptions;
            0    3     1       length  I
            1    3     2        array  [Lorg/hibernate/LockOptions;
    MethodParameters:
             Name  Flags
      lockOptions  
      length       

  public static java.lang.String[] toStringArray(java.util.Collection);
    descriptor: (Ljava/util/Collection;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 94
            aload 0 /* coll */
            aload 0 /* coll */
            invokeinterface java.util.Collection.size:()I
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  coll  Ljava/util/Collection;
    MethodParameters:
      Name  Flags
      coll  

  public static java.lang.String[][] to2DStringArray(java.util.Collection);
    descriptor: (Ljava/util/Collection;)[[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 98
            aload 0 /* coll */
            aload 0 /* coll */
            invokeinterface java.util.Collection.size:()I
            anewarray java.lang.String[]
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[][]
            areturn
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  coll  Ljava/util/Collection;
    MethodParameters:
      Name  Flags
      coll  

  public static int[][] to2DIntArray(java.util.Collection);
    descriptor: (Ljava/util/Collection;)[[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 102
            aload 0 /* coll */
            aload 0 /* coll */
            invokeinterface java.util.Collection.size:()I
            anewarray int[]
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast int[][]
            areturn
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  coll  Ljava/util/Collection;
    MethodParameters:
      Name  Flags
      coll  

  public static org.hibernate.type.Type[] toTypeArray(java.util.Collection);
    descriptor: (Ljava/util/Collection;)[Lorg/hibernate/type/Type;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 106
            aload 0 /* coll */
            aload 0 /* coll */
            invokeinterface java.util.Collection.size:()I
            anewarray org.hibernate.type.Type
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.hibernate.type.Type[]
            areturn
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  coll  Ljava/util/Collection;
    MethodParameters:
      Name  Flags
      coll  

  public static int[] toIntArray(java.util.Collection);
    descriptor: (Ljava/util/Collection;)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 110
            aload 0 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 111
            aload 0 /* coll */
            invokeinterface java.util.Collection.size:()I
            newarray 10
            astore 2 /* arr */
        start local 2 // int[] arr
         2: .line 112
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: .line 113
            goto 5
         4: .line 114
      StackMap locals: java.util.Iterator int[] int
      StackMap stack:
            aload 2 /* arr */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
         5: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         6: .line 116
            aload 2 /* arr */
            areturn
        end local 3 // int i
        end local 2 // int[] arr
        end local 1 // java.util.Iterator iter
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  coll  Ljava/util/Collection;
            1    7     1  iter  Ljava/util/Iterator;
            2    7     2   arr  [I
            3    7     3     i  I
    MethodParameters:
      Name  Flags
      coll  

  public static boolean[] toBooleanArray(java.util.Collection);
    descriptor: (Ljava/util/Collection;)[Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.Collection coll
         0: .line 120
            aload 0 /* coll */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 121
            aload 0 /* coll */
            invokeinterface java.util.Collection.size:()I
            newarray 4
            astore 2 /* arr */
        start local 2 // boolean[] arr
         2: .line 122
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: .line 123
            goto 5
         4: .line 124
      StackMap locals: java.util.Iterator boolean[] int
      StackMap stack:
            aload 2 /* arr */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 1 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            bastore
         5: .line 123
      StackMap locals:
      StackMap stack:
            aload 1 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         6: .line 126
            aload 2 /* arr */
            areturn
        end local 3 // int i
        end local 2 // boolean[] arr
        end local 1 // java.util.Iterator iter
        end local 0 // java.util.Collection coll
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  coll  Ljava/util/Collection;
            1    7     1  iter  Ljava/util/Iterator;
            2    7     2   arr  [Z
            3    7     3     i  I
    MethodParameters:
      Name  Flags
      coll  

  public static java.lang.Object[] typecast(java.lang.Object[], java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // java.lang.Object[] to
         0: .line 130
            aload 0 /* array */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* to */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object[] to
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  array  [Ljava/lang/Object;
            0    1     1     to  [Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  
      to     

  public static java.util.List toList(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Object array
         0: .line 135
            aload 0 /* array */
            instanceof java.lang.Object[]
            ifeq 1
            aload 0 /* array */
            checkcast java.lang.Object[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
         1: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 1 /* size */
        start local 1 // int size
         2: .line 137
            new java.util.ArrayList
            dup
            iload 1 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* list */
        start local 2 // java.util.ArrayList list
         3: .line 138
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 139
      StackMap locals: int java.util.ArrayList int
      StackMap stack:
            aload 2 /* list */
            aload 0 /* array */
            iload 3 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 138
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 1 /* size */
            if_icmplt 5
        end local 3 // int i
         8: .line 141
            aload 2 /* list */
            areturn
        end local 2 // java.util.ArrayList list
        end local 1 // int size
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0  array  Ljava/lang/Object;
            2    9     1   size  I
            3    9     2   list  Ljava/util/ArrayList;
            4    8     3      i  I
    MethodParameters:
       Name  Flags
      array  

  public static java.lang.String[] slice(java.lang.String[], int, int);
    descriptor: ([Ljava/lang/String;II)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.String[] strings
        start local 1 // int begin
        start local 2 // int length
         0: .line 145
            iload 2 /* length */
            anewarray java.lang.String
            astore 3 /* result */
        start local 3 // java.lang.String[] result
         1: .line 146
            aload 0 /* strings */
            iload 1 /* begin */
            aload 3 /* result */
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 147
            aload 3 /* result */
            areturn
        end local 3 // java.lang.String[] result
        end local 2 // int length
        end local 1 // int begin
        end local 0 // java.lang.String[] strings
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  strings  [Ljava/lang/String;
            0    3     1    begin  I
            0    3     2   length  I
            1    3     3   result  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      strings  
      begin    
      length   

  public static java.lang.Object[] slice(java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;II)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Object[] objects
        start local 1 // int begin
        start local 2 // int length
         0: .line 151
            iload 2 /* length */
            anewarray java.lang.Object
            astore 3 /* result */
        start local 3 // java.lang.Object[] result
         1: .line 152
            aload 0 /* objects */
            iload 1 /* begin */
            aload 3 /* result */
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 153
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object[] result
        end local 2 // int length
        end local 1 // int begin
        end local 0 // java.lang.Object[] objects
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  objects  [Ljava/lang/Object;
            0    3     1    begin  I
            0    3     2   length  I
            1    3     3   result  [Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      objects  
      begin    
      length   

  public static java.util.List toList(java.util.Iterator);
    descriptor: (Ljava/util/Iterator;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Iterator iter
         0: .line 157
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 158
            goto 3
         2: .line 159
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* list */
            aload 0 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         4: .line 161
            aload 1 /* list */
            areturn
        end local 1 // java.util.List list
        end local 0 // java.util.Iterator iter
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  iter  Ljava/util/Iterator;
            1    5     1  list  Ljava/util/List;
    MethodParameters:
      Name  Flags
      iter  

  public static java.lang.String[] join(java.lang.String[], java.lang.String[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String[] x
        start local 1 // java.lang.String[] y
         0: .line 165
            aload 0 /* x */
            arraylength
            aload 1 /* y */
            arraylength
            iadd
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         1: .line 166
            aload 0 /* x */
            iconst_0
            aload 2 /* result */
            iconst_0
            aload 0 /* x */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 167
            aload 1 /* y */
            iconst_0
            aload 2 /* result */
            aload 0 /* x */
            arraylength
            aload 1 /* y */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 168
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // java.lang.String[] y
        end local 0 // java.lang.String[] x
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0       x  [Ljava/lang/String;
            0    4     1       y  [Ljava/lang/String;
            1    4     2  result  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      x     
      y     

  public static java.lang.String[] join(java.lang.String[], java.lang.String[], boolean[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/String;[Z)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.String[] x
        start local 1 // java.lang.String[] y
        start local 2 // boolean[] use
         0: .line 172
            aload 0 /* x */
            arraylength
            aload 2 /* use */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.countTrue:([Z)I
            iadd
            anewarray java.lang.String
            astore 3 /* result */
        start local 3 // java.lang.String[] result
         1: .line 173
            aload 0 /* x */
            iconst_0
            aload 3 /* result */
            iconst_0
            aload 0 /* x */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 174
            aload 0 /* x */
            arraylength
            istore 4 /* k */
        start local 4 // int k
         3: .line 175
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 176
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 2 /* use */
            iload 5 /* i */
            baload
            ifeq 7
         6: .line 177
            aload 3 /* result */
            iload 4 /* k */
            iinc 4 /* k */ 1
            aload 1 /* y */
            iload 5 /* i */
            aaload
            aastore
         7: .line 175
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 1 /* y */
            arraylength
            if_icmplt 5
        end local 5 // int i
         9: .line 180
            aload 3 /* result */
            areturn
        end local 4 // int k
        end local 3 // java.lang.String[] result
        end local 2 // boolean[] use
        end local 1 // java.lang.String[] y
        end local 0 // java.lang.String[] x
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0       x  [Ljava/lang/String;
            0   10     1       y  [Ljava/lang/String;
            0   10     2     use  [Z
            1   10     3  result  [Ljava/lang/String;
            3   10     4       k  I
            4    9     5       i  I
    MethodParameters:
      Name  Flags
      x     
      y     
      use   

  public static int[] join(int[], int[]);
    descriptor: ([I[I)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // int[] x
        start local 1 // int[] y
         0: .line 184
            aload 0 /* x */
            arraylength
            aload 1 /* y */
            arraylength
            iadd
            newarray 10
            astore 2 /* result */
        start local 2 // int[] result
         1: .line 185
            aload 0 /* x */
            iconst_0
            aload 2 /* result */
            iconst_0
            aload 0 /* x */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 186
            aload 1 /* y */
            iconst_0
            aload 2 /* result */
            aload 0 /* x */
            arraylength
            aload 1 /* y */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 187
            aload 2 /* result */
            areturn
        end local 2 // int[] result
        end local 1 // int[] y
        end local 0 // int[] x
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0       x  [I
            0    4     1       y  [I
            1    4     2  result  [I
    MethodParameters:
      Name  Flags
      x     
      y     

  public static <T> T[] join(T[], );
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Object[] x
        start local 1 // java.lang.Object[] y
         0: .line 192
            aload 0 /* x */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            aload 0 /* x */
            arraylength
            aload 1 /* y */
            arraylength
            iadd
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 2 /* result */
        start local 2 // java.lang.Object[] result
         1: .line 193
            aload 0 /* x */
            iconst_0
            aload 2 /* result */
            iconst_0
            aload 0 /* x */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 194
            aload 1 /* y */
            iconst_0
            aload 2 /* result */
            aload 0 /* x */
            arraylength
            aload 1 /* y */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 195
            aload 2 /* result */
            areturn
        end local 2 // java.lang.Object[] result
        end local 1 // java.lang.Object[] y
        end local 0 // java.lang.Object[] x
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0       x  [Ljava/lang/Object;
            0    4     1       y  [Ljava/lang/Object;
            1    4     2  result  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;[TT;)[TT;
    MethodParameters:
      Name  Flags
      x     
      y     

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.internal.util.collections.ArrayHelper this
         0: .line 201
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hibernate.internal.util.collections.ArrayHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/internal/util/collections/ArrayHelper;

  public static java.lang.String toString(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Object[] array
         0: .line 204
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 205
            aload 1 /* sb */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 206
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 7
         4: .line 207
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* array */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         5: .line 208
            iload 2 /* i */
            aload 0 /* array */
            arraylength
            iconst_1
            isub
            if_icmpge 6
            aload 1 /* sb */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 206
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* array */
            arraylength
            if_icmplt 4
        end local 2 // int i
         8: .line 210
            aload 1 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 211
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  array  [Ljava/lang/Object;
            1   10     1     sb  Ljava/lang/StringBuilder;
            3    8     2      i  I
    MethodParameters:
       Name  Flags
      array  

  public static boolean isAllNegative(int[]);
    descriptor: ([I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // int[] array
         0: .line 215
            aload 0 /* array */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: int[] top int int int[]
      StackMap stack:
         1: aload 4
            iload 2
            iaload
            istore 1 /* anArray */
        start local 1 // int anArray
         2: .line 216
            iload 1 /* anArray */
            iflt 4
         3: .line 217
            iconst_0
            ireturn
        end local 1 // int anArray
         4: .line 215
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 220
            iconst_1
            ireturn
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0    array  [I
            2    4     1  anArray  I
    MethodParameters:
       Name  Flags
      array  

  public static boolean isAllTrue(boolean[]);
    descriptor: ([Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // boolean[] array
         0: .line 224
            aload 0 /* array */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: boolean[] top int int boolean[]
      StackMap stack:
         1: aload 4
            iload 2
            baload
            istore 1 /* anArray */
        start local 1 // boolean anArray
         2: .line 225
            iload 1 /* anArray */
            ifne 4
         3: .line 226
            iconst_0
            ireturn
        end local 1 // boolean anArray
         4: .line 224
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 229
            iconst_1
            ireturn
        end local 0 // boolean[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0    array  [Z
            2    4     1  anArray  Z
    MethodParameters:
       Name  Flags
      array  

  public static int countTrue(boolean[]);
    descriptor: ([Z)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // boolean[] array
         0: .line 233
            iconst_0
            istore 1 /* result */
        start local 1 // int result
         1: .line 234
            aload 0 /* array */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: boolean[] int top int int boolean[]
      StackMap stack:
         2: aload 5
            iload 3
            baload
            istore 2 /* anArray */
        start local 2 // boolean anArray
         3: .line 235
            iload 2 /* anArray */
            ifeq 5
         4: .line 236
            iinc 1 /* result */ 1
        end local 2 // boolean anArray
         5: .line 234
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 239
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // boolean[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0    array  [Z
            1    8     1   result  I
            3    5     2  anArray  Z
    MethodParameters:
       Name  Flags
      array  

  public static boolean isAllFalse(boolean[]);
    descriptor: ([Z)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // boolean[] array
         0: .line 251
            aload 0 /* array */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: boolean[] top int int boolean[]
      StackMap stack:
         1: aload 4
            iload 2
            baload
            istore 1 /* anArray */
        start local 1 // boolean anArray
         2: .line 252
            iload 1 /* anArray */
            ifeq 4
         3: .line 253
            iconst_0
            ireturn
        end local 1 // boolean anArray
         4: .line 251
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 256
            iconst_1
            ireturn
        end local 0 // boolean[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0    array  [Z
            2    4     1  anArray  Z
    MethodParameters:
       Name  Flags
      array  

  public static void addAll(java.util.Collection, java.lang.Object[]);
    descriptor: (Ljava/util/Collection;[Ljava/lang/Object;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Collection collection
        start local 1 // java.lang.Object[] array
         0: .line 260
            aload 0 /* collection */
            aload 1 /* array */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 261
            return
        end local 1 // java.lang.Object[] array
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  collection  Ljava/util/Collection;
            0    2     1       array  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      collection  
      array       

  public static int[] getBatchSizes(int);
    descriptor: (I)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // int maxBatchSize
         0: .line 272
            iload 0 /* maxBatchSize */
            istore 1 /* batchSize */
        start local 1 // int batchSize
         1: .line 273
            iconst_1
            istore 2 /* n */
        start local 2 // int n
         2: .line 274
            goto 5
         3: .line 275
      StackMap locals: int int
      StackMap stack:
            iload 1 /* batchSize */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.getNextBatchSize:(I)I
            istore 1 /* batchSize */
         4: .line 276
            iinc 2 /* n */ 1
         5: .line 274
      StackMap locals:
      StackMap stack:
            iload 1 /* batchSize */
            iconst_1
            if_icmpgt 3
         6: .line 278
            iload 2 /* n */
            newarray 10
            astore 3 /* result */
        start local 3 // int[] result
         7: .line 279
            iload 0 /* maxBatchSize */
            istore 1 /* batchSize */
         8: .line 280
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 13
        10: .line 281
      StackMap locals: int[] int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            iload 1 /* batchSize */
            iastore
        11: .line 282
            iload 1 /* batchSize */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.getNextBatchSize:(I)I
            istore 1 /* batchSize */
        12: .line 280
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 2 /* n */
            if_icmplt 10
        end local 4 // int i
        14: .line 284
            aload 3 /* result */
            areturn
        end local 3 // int[] result
        end local 2 // int n
        end local 1 // int batchSize
        end local 0 // int maxBatchSize
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0  maxBatchSize  I
            1   15     1     batchSize  I
            2   15     2             n  I
            7   15     3        result  [I
            9   14     4             i  I
    MethodParameters:
              Name  Flags
      maxBatchSize  

  private static int getNextBatchSize(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int batchSize
         0: .line 288
            iload 0 /* batchSize */
            bipush 10
            if_icmpgt 2
         1: .line 289
            iload 0 /* batchSize */
            iconst_1
            isub
            ireturn
         2: .line 291
      StackMap locals:
      StackMap stack:
            iload 0 /* batchSize */
            iconst_2
            idiv
            bipush 10
            if_icmpge 4
         3: .line 292
            bipush 10
            ireturn
         4: .line 295
      StackMap locals:
      StackMap stack:
            iload 0 /* batchSize */
            iconst_2
            idiv
            ireturn
        end local 0 // int batchSize
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  batchSize  I
    MethodParameters:
           Name  Flags
      batchSize  

  public static int hash(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.lang.Object[] array
         0: .line 306
            aload 0 /* array */
            arraylength
            pop
         1: .line 307
            getstatic org.hibernate.internal.util.collections.ArrayHelper.SEED:I
            istore 1 /* seed */
        start local 1 // int seed
         2: .line 308
            aload 0 /* array */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* anArray */
        start local 2 // java.lang.Object anArray
         4: .line 309
            iload 1 /* seed */
            aload 2 /* anArray */
            ifnonnull 5
            iconst_0
            goto 6
      StackMap locals: java.lang.Object[] int java.lang.Object int int java.lang.Object[]
      StackMap stack: int
         5: aload 2 /* anArray */
            invokevirtual java.lang.Object.hashCode:()I
      StackMap locals: java.lang.Object[] int java.lang.Object int int java.lang.Object[]
      StackMap stack: int int
         6: invokestatic org.hibernate.internal.util.collections.ArrayHelper.hash:(II)I
            istore 1 /* seed */
        end local 2 // java.lang.Object anArray
         7: .line 308
            iinc 3 1
      StackMap locals: java.lang.Object[] int top int int java.lang.Object[]
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 3
         9: .line 311
            iload 1 /* seed */
            ireturn
        end local 1 // int seed
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0    array  [Ljava/lang/Object;
            2   10     1     seed  I
            4    7     2  anArray  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      array  

  public static int hash(char[]);
    descriptor: ([C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // char[] array
         0: .line 318
            aload 0 /* array */
            arraylength
            pop
         1: .line 319
            getstatic org.hibernate.internal.util.collections.ArrayHelper.SEED:I
            istore 1 /* seed */
        start local 1 // int seed
         2: .line 320
            aload 0 /* array */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: char[] int top int int char[]
      StackMap stack:
         3: aload 5
            iload 3
            caload
            istore 2 /* anArray */
        start local 2 // char anArray
         4: .line 321
            iload 1 /* seed */
            iload 2 /* anArray */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.hash:(II)I
            istore 1 /* seed */
        end local 2 // char anArray
         5: .line 320
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 323
            iload 1 /* seed */
            ireturn
        end local 1 // int seed
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0    array  [C
            2    8     1     seed  I
            4    5     2  anArray  C
    MethodParameters:
       Name  Flags
      array  

  public static int hash(byte[]);
    descriptor: ([B)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // byte[] bytes
         0: .line 330
            aload 0 /* bytes */
            arraylength
            pop
         1: .line 331
            getstatic org.hibernate.internal.util.collections.ArrayHelper.SEED:I
            istore 1 /* seed */
        start local 1 // int seed
         2: .line 332
            aload 0 /* bytes */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: byte[] int top int int byte[]
      StackMap stack:
         3: aload 5
            iload 3
            baload
            istore 2 /* aByte */
        start local 2 // byte aByte
         4: .line 333
            iload 1 /* seed */
            iload 2 /* aByte */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.hash:(II)I
            istore 1 /* seed */
        end local 2 // byte aByte
         5: .line 332
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 335
            iload 1 /* seed */
            ireturn
        end local 1 // int seed
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  bytes  [B
            2    8     1   seed  I
            4    5     2  aByte  B
    MethodParameters:
       Name  Flags
      bytes  

  private static int hash(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int seed
        start local 1 // int i
         0: .line 339
            getstatic org.hibernate.internal.util.collections.ArrayHelper.PRIME_NUMER:I
            iload 0 /* seed */
            imul
            iload 1 /* i */
            iadd
            ireturn
        end local 1 // int i
        end local 0 // int seed
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  seed  I
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      seed  
      i     

  public static boolean isEquals(java.lang.Object[], java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.Object[] o1
        start local 1 // java.lang.Object[] o2
         0: .line 346
            aload 0 /* o1 */
            aload 1 /* o2 */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            ifnull 2
            aload 1 /* o2 */
            ifnonnull 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         4: .line 349
            iload 2 /* length */
            aload 1 /* o2 */
            arraylength
            if_icmpeq 5
            iconst_0
            ireturn
         5: .line 350
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         6: goto 9
         7: .line 351
      StackMap locals: int
      StackMap stack:
            aload 0 /* o1 */
            iload 3 /* index */
            aaload
            aload 1 /* o2 */
            iload 3 /* index */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 8
            iconst_0
            ireturn
         8: .line 350
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 7
        end local 3 // int index
        10: .line 353
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // java.lang.Object[] o2
        end local 0 // java.lang.Object[] o1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0      o1  [Ljava/lang/Object;
            0   11     1      o2  [Ljava/lang/Object;
            4   11     2  length  I
            6   10     3   index  I
    MethodParameters:
      Name  Flags
      o1    
      o2    

  public static boolean isEquals(char[], char[]);
    descriptor: ([C[C)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // char[] o1
        start local 1 // char[] o2
         0: .line 360
            aload 0 /* o1 */
            aload 1 /* o2 */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 361
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            ifnull 2
            aload 1 /* o2 */
            ifnonnull 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         4: .line 363
            iload 2 /* length */
            aload 1 /* o2 */
            arraylength
            if_icmpeq 5
            iconst_0
            ireturn
         5: .line 364
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         6: goto 9
         7: .line 365
      StackMap locals: int
      StackMap stack:
            aload 0 /* o1 */
            iload 3 /* index */
            caload
            aload 1 /* o2 */
            iload 3 /* index */
            caload
            if_icmpeq 8
            iconst_0
            ireturn
         8: .line 364
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 7
        end local 3 // int index
        10: .line 367
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // char[] o2
        end local 0 // char[] o1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0      o1  [C
            0   11     1      o2  [C
            4   11     2  length  I
            6   10     3   index  I
    MethodParameters:
      Name  Flags
      o1    
      o2    

  public static boolean isEquals(byte[], byte[]);
    descriptor: ([B[B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // byte[] b1
        start local 1 // byte[] b2
         0: .line 374
            aload 0 /* b1 */
            aload 1 /* b2 */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* b1 */
            ifnull 2
            aload 1 /* b2 */
            ifnonnull 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* b1 */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         4: .line 377
            iload 2 /* length */
            aload 1 /* b2 */
            arraylength
            if_icmpeq 5
            iconst_0
            ireturn
         5: .line 378
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         6: goto 9
         7: .line 379
      StackMap locals: int
      StackMap stack:
            aload 0 /* b1 */
            iload 3 /* index */
            baload
            aload 1 /* b2 */
            iload 3 /* index */
            baload
            if_icmpeq 8
            iconst_0
            ireturn
         8: .line 378
      StackMap locals:
      StackMap stack:
            iinc 3 /* index */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* index */
            iload 2 /* length */
            if_icmplt 7
        end local 3 // int index
        10: .line 381
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // byte[] b2
        end local 0 // byte[] b1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0      b1  [B
            0   11     1      b2  [B
            4   11     2  length  I
            6   10     3   index  I
    MethodParameters:
      Name  Flags
      b1    
      b2    

  public static java.io.Serializable[] extractNonNull(java.io.Serializable[]);
    descriptor: ([Ljava/io/Serializable;)[Ljava/io/Serializable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=1
        start local 0 // java.io.Serializable[] array
         0: .line 385
            aload 0 /* array */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.countNonNull:([Ljava/io/Serializable;)I
            istore 1 /* nonNullCount */
        start local 1 // int nonNullCount
         1: .line 386
            iload 1 /* nonNullCount */
            anewarray java.io.Serializable
            astore 2 /* result */
        start local 2 // java.io.Serializable[] result
         2: .line 387
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: .line 388
            aload 0 /* array */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: java.io.Serializable[] int java.io.Serializable[] int top int int java.io.Serializable[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* element */
        start local 4 // java.io.Serializable element
         5: .line 389
            aload 4 /* element */
            ifnull 7
         6: .line 390
            aload 2 /* result */
            iload 3 /* i */
            iinc 3 /* i */ 1
            aload 4 /* element */
            aastore
        end local 4 // java.io.Serializable element
         7: .line 388
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 4
         9: .line 393
            iload 3 /* i */
            iload 1 /* nonNullCount */
            if_icmpeq 11
        10: .line 394
            new org.hibernate.HibernateException
            dup
            ldc "Number of non-null elements varied between iterations"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 396
      StackMap locals: java.io.Serializable[] int java.io.Serializable[] int
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 3 // int i
        end local 2 // java.io.Serializable[] result
        end local 1 // int nonNullCount
        end local 0 // java.io.Serializable[] array
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0         array  [Ljava/io/Serializable;
            1   12     1  nonNullCount  I
            2   12     2        result  [Ljava/io/Serializable;
            3   12     3             i  I
            5    7     4       element  Ljava/io/Serializable;
    MethodParameters:
       Name  Flags
      array  

  public static int countNonNull(java.io.Serializable[]);
    descriptor: ([Ljava/io/Serializable;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // java.io.Serializable[] array
         0: .line 400
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: .line 401
            aload 0 /* array */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: java.io.Serializable[] int top int int java.io.Serializable[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* element */
        start local 2 // java.io.Serializable element
         3: .line 402
            aload 2 /* element */
            ifnull 5
         4: .line 403
            iinc 1 /* i */ 1
        end local 2 // java.io.Serializable element
         5: .line 401
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 2
         7: .line 406
            iload 1 /* i */
            ireturn
        end local 1 // int i
        end local 0 // java.io.Serializable[] array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0    array  [Ljava/io/Serializable;
            1    8     1        i  I
            3    5     2  element  Ljava/io/Serializable;
    MethodParameters:
       Name  Flags
      array  

  public static java.lang.String[] reverse(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String[] source
         0: .line 410
            aload 0 /* source */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 411
            iload 1 /* length */
            anewarray java.lang.String
            astore 2 /* destination */
        start local 2 // java.lang.String[] destination
         2: .line 412
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 413
      StackMap locals: int java.lang.String[] int
      StackMap stack:
            iload 1 /* length */
            iload 3 /* i */
            isub
            iconst_1
            isub
            istore 4 /* x */
        start local 4 // int x
         5: .line 414
            aload 2 /* destination */
            iload 4 /* x */
            aload 0 /* source */
            iload 3 /* i */
            aaload
            aastore
        end local 4 // int x
         6: .line 412
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 1 /* length */
            if_icmplt 4
        end local 3 // int i
         8: .line 416
            aload 2 /* destination */
            areturn
        end local 2 // java.lang.String[] destination
        end local 1 // int length
        end local 0 // java.lang.String[] source
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0       source  [Ljava/lang/String;
            1    9     1       length  I
            2    9     2  destination  [Ljava/lang/String;
            3    8     3            i  I
            5    6     4            x  I
    MethodParameters:
        Name  Flags
      source  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 420
            bipush 32
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.getBatchSizes:(I)[I
            astore 1 /* batchSizes */
        start local 1 // int[] batchSizes
         1: .line 422
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Forward ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 423
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 424
      StackMap locals: int[] int
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* batchSizes */
            iload 2 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 423
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 1 /* batchSizes */
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 427
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Backward ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 428
            aload 1 /* batchSizes */
            arraylength
            iconst_1
            isub
            istore 2 /* i */
        start local 2 // int i
         9: goto 12
        10: .line 429
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* batchSizes */
            iload 2 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        11: .line 428
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            ifge 10
        end local 2 // int i
        13: .line 431
            return
        end local 1 // int[] batchSizes
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        args  [Ljava/lang/String;
            1   14     1  batchSizes  [I
            3    7     2           i  I
            9   13     2           i  I
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "ArrayHelper.java"