public class org.jruby.RubyArray<T extends org.jruby.runtime.builtin.IRubyObject> extends org.jruby.RubyObject implements java.util.List, java.util.RandomAccess
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.RubyArray
  super_class: org.jruby.RubyObject
{
  public static final int DEFAULT_INSPECT_STR_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final boolean USE_PACKED_ARRAYS;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static org.jruby.runtime.ObjectAllocator ARRAY_ALLOCATOR;
    descriptor: Lorg/jruby/runtime/ObjectAllocator;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  public static final int ARRAY_DEFAULT_SIZE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int TMPLOCK_ARR_F;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int TMPLOCK_OR_FROZEN_ARR_F;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList EMPTY_ARRAY_BYTELIST;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.ByteList RECURSIVE_ARRAY_BYTELIST;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private volatile boolean isShared;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  protected org.jruby.runtime.builtin.IRubyObject[] values;
    descriptor: [Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED

  protected int begin;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int realLength;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  private static final int SORTED_THRESHOLD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final org.jruby.RubyArray$JoinRecursive JOIN_RECURSIVE;
    descriptor: Lorg/jruby/RubyArray$JoinRecursive;
    flags: (0x001a) ACC_PRIVATE, 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=6, locals=0, args_size=0
         0: .line 105
            ldc Lorg/jruby/RubyArray;
            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.jruby.RubyArray.$assertionsDisabled:Z
         3: .line 108
            getstatic org.jruby.util.cli.Options.PACKED_ARRAYS:Lcom/headius/options/Option;
            invokevirtual com.headius.options.Option.load:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            putstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
         4: .line 125
            new org.jruby.RubyArray$1
            dup
            invokespecial org.jruby.RubyArray$1.<init>:()V
            putstatic org.jruby.RubyArray.ARRAY_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
         5: .line 366
            sipush 512
            getstatic org.jruby.RubyArray.FROZEN_F:I
            ior
            putstatic org.jruby.RubyArray.TMPLOCK_OR_FROZEN_ARR_F:I
         6: .line 368
            new org.jruby.util.ByteList
            dup
            iconst_2
            newarray 8
            dup
            iconst_0
            bipush 91
            bastore
            dup
            iconst_1
            bipush 93
            bastore
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            putstatic org.jruby.RubyArray.EMPTY_ARRAY_BYTELIST:Lorg/jruby/util/ByteList;
         7: .line 369
            new org.jruby.util.ByteList
            dup
            iconst_5
            newarray 8
            dup
            iconst_0
            bipush 91
            bastore
            dup
            iconst_1
            bipush 46
            bastore
            dup
            iconst_2
            bipush 46
            bastore
            dup
            iconst_3
            bipush 46
            bastore
            dup
            iconst_4
            bipush 93
            bastore
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            putstatic org.jruby.RubyArray.RECURSIVE_ARRAY_BYTELIST:Lorg/jruby/util/ByteList;
         8: .line 5279
            new org.jruby.RubyArray$JoinRecursive
            dup
            invokespecial org.jruby.RubyArray$JoinRecursive.<init>:()V
            putstatic org.jruby.RubyArray.JOIN_RECURSIVE:Lorg/jruby/RubyArray$JoinRecursive;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.jruby.RubyClass createArrayClass(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyClass;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 111
            aload 0 /* runtime */
            ldc "Array"
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getObject:()Lorg/jruby/RubyClass;
            getstatic org.jruby.RubyArray.ARRAY_ALLOCATOR:Lorg/jruby/runtime/ObjectAllocator;
            invokevirtual org.jruby.Ruby.defineClass:(Ljava/lang/String;Lorg/jruby/RubyClass;Lorg/jruby/runtime/ObjectAllocator;)Lorg/jruby/RubyClass;
            astore 1 /* arrayc */
        start local 1 // org.jruby.RubyClass arrayc
         1: .line 112
            aload 0 /* runtime */
            aload 1 /* arrayc */
            invokevirtual org.jruby.Ruby.setArray:(Lorg/jruby/RubyClass;)V
         2: .line 114
            aload 1 /* arrayc */
            getstatic org.jruby.runtime.ClassIndex.ARRAY:Lorg/jruby/runtime/ClassIndex;
            invokevirtual org.jruby.RubyClass.setClassIndex:(Lorg/jruby/runtime/ClassIndex;)V
         3: .line 115
            aload 1 /* arrayc */
            ldc Lorg/jruby/RubyArray;
            invokevirtual org.jruby.RubyClass.setReifiedClass:(Ljava/lang/Class;)V
         4: .line 117
            aload 1 /* arrayc */
            new org.jruby.RubyModule$JavaClassKindOf
            dup
            ldc Lorg/jruby/RubyArray;
            invokespecial org.jruby.RubyModule$JavaClassKindOf.<init>:(Ljava/lang/Class;)V
            putfield org.jruby.RubyClass.kindOf:Lorg/jruby/RubyModule$KindOf;
         5: .line 119
            aload 1 /* arrayc */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getEnumerable:()Lorg/jruby/RubyModule;
            invokevirtual org.jruby.RubyClass.includeModule:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 120
            aload 1 /* arrayc */
            ldc Lorg/jruby/RubyArray;
            invokevirtual org.jruby.RubyClass.defineAnnotatedMethods:(Ljava/lang/Class;)V
         7: .line 122
            aload 1 /* arrayc */
            areturn
        end local 1 // org.jruby.RubyClass arrayc
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  runtime  Lorg/jruby/Ruby;
            1    8     1   arrayc  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  

  public org.jruby.runtime.ClassIndex getNativeClassIndex();
    descriptor: ()Lorg/jruby/runtime/ClassIndex;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 134
            getstatic org.jruby.runtime.ClassIndex.ARRAY:Lorg/jruby/runtime/ClassIndex;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  protected final void concurrentModification();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 138
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aconst_null
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  private static java.lang.RuntimeException concurrentModification(org.jruby.Ruby, java.lang.Exception);
    descriptor: (Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.lang.Exception cause
         0: .line 142
            aload 0 /* runtime */
            ldc "Detected invalid array contents due to unsynchronized modifications with concurrent users"
            invokevirtual org.jruby.Ruby.newConcurrencyError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            astore 2 /* ex */
        start local 2 // java.lang.RuntimeException ex
         1: .line 145
            aload 2 /* ex */
            areturn
        end local 2 // java.lang.RuntimeException ex
        end local 1 // java.lang.Exception cause
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  runtime  Lorg/jruby/Ruby;
            0    2     1    cause  Ljava/lang/Exception;
            1    2     2       ex  Ljava/lang/RuntimeException;
    MethodParameters:
         Name  Flags
      runtime  
      cause    

  public static org.jruby.runtime.builtin.IRubyObject create(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.jruby.runtime.builtin.IRubyObject klass
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // org.jruby.runtime.Block block
         0: .line 155
            aload 1 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 157
      StackMap locals:
      StackMap stack:
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 0 /* klass */
            checkcast org.jruby.RubyClass
            aload 1 /* args */
            iconst_0
            aaload
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         2: .line 159
      StackMap locals:
      StackMap stack:
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 0 /* klass */
            checkcast org.jruby.RubyClass
            aload 1 /* args */
            iconst_0
            aaload
            aload 1 /* args */
            iconst_1
            aaload
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         3: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* klass */
            checkcast org.jruby.RubyClass
            invokevirtual org.jruby.RubyClass.allocate:()Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 3 /* arr */
        start local 3 // org.jruby.RubyArray arr
         4: .line 164
            aload 1 /* args */
            arraylength
            ifle 7
         5: .line 165
            aload 3 /* arr */
            aload 1 /* args */
            invokevirtual org.jruby.runtime.builtin.IRubyObject[].clone:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 166
            aload 3 /* arr */
            aload 1 /* args */
            arraylength
            putfield org.jruby.RubyArray.realLength:I
         7: .line 168
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 3 /* arr */
            areturn
        end local 3 // org.jruby.RubyArray arr
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.runtime.builtin.IRubyObject klass
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  klass  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     1   args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     2  block  Lorg/jruby/runtime/Block;
            4    8     3    arr  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]"}, rest = true, meta = true)
    MethodParameters:
       Name  Flags
      klass  
      args   
      block  

  public static final org.jruby.RubyArray newArray(org.jruby.Ruby, long);
    descriptor: (Lorg/jruby/Ruby;J)Lorg/jruby/RubyArray;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // long len
         0: .line 175
            aload 0 /* runtime */
            lload 1 /* len */
            invokestatic org.jruby.RubyArray.checkLength:(Lorg/jruby/Ruby;J)V
         1: .line 176
            aload 0 /* runtime */
            lload 1 /* len */
            l2i
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            areturn
        end local 1 // long len
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  runtime  Lorg/jruby/Ruby;
            0    2     1      len  J
    MethodParameters:
         Name  Flags
      runtime  final
      len      final

  public static final org.jruby.RubyArray newArrayLight(org.jruby.Ruby, long);
    descriptor: (Lorg/jruby/Ruby;J)Lorg/jruby/RubyArray;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // long len
         0: .line 180
            aload 0 /* runtime */
            lload 1 /* len */
            invokestatic org.jruby.RubyArray.checkLength:(Lorg/jruby/Ruby;J)V
         1: .line 181
            aload 0 /* runtime */
            lload 1 /* len */
            l2i
            invokestatic org.jruby.RubyArray.newArrayLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            areturn
        end local 1 // long len
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  runtime  Lorg/jruby/Ruby;
            0    2     1      len  J
    MethodParameters:
         Name  Flags
      runtime  final
      len      final

  public static final org.jruby.RubyArray newArray(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int len
         0: .line 185
            iload 1 /* len */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* values */
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] values
         1: .line 186
            aload 2 /* values */
            iconst_0
            iload 1 /* len */
            aload 0 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         2: .line 187
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 2 /* values */
            iconst_0
            iconst_0
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)V
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 1 // int len
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1      len  I
            1    3     2   values  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  final
      len      final

  public static final org.jruby.RubyArray newArrayLight(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int len
         0: .line 191
            iload 1 /* len */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* values */
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] values
         1: .line 192
            aload 2 /* values */
            iconst_0
            iload 1 /* len */
            aload 0 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         2: .line 193
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            aload 2 /* values */
            iconst_0
            iconst_0
            iconst_0
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;IIZ)V
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 1 // int len
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1      len  I
            1    3     2   values  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  final
      len      final

  public static final org.jruby.RubyArray newArray(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 200
            aload 0 /* runtime */
            bipush 16
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  final

  public static final org.jruby.RubyArray newArrayLight(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 210
            aload 0 /* runtime */
            bipush 16
            invokestatic org.jruby.RubyArray.newArrayLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  final

  public static org.jruby.RubyArray newArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 214
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 1
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 0 /* runtime */
            aload 1 /* obj */
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* obj */
            aastore
            invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         2: areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      obj      

  public static org.jruby.RubyArray newArrayLight(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 218
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 1
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 0 /* runtime */
            aload 1 /* obj */
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* obj */
            aastore
            invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         2: areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      obj      

  public static org.jruby.RubyArray newArrayLight(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject car
        start local 2 // org.jruby.runtime.builtin.IRubyObject cdr
         0: .line 222
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 1
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 0 /* runtime */
            aload 1 /* car */
            aload 2 /* cdr */
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* car */
            aastore
            dup
            iconst_1
            aload 2 /* cdr */
            aastore
            invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         2: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject cdr
        end local 1 // org.jruby.runtime.builtin.IRubyObject car
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1      car  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2      cdr  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      car      
      cdr      

  public static org.jruby.RubyArray newArrayLight(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] objs
         0: .line 226
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* objs */
            iconst_0
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;Z)V
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] objs
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     objs  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      objs     

  public static org.jruby.RubyArray newArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject car
        start local 2 // org.jruby.runtime.builtin.IRubyObject cdr
         0: .line 233
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 1
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 0 /* runtime */
            aload 1 /* car */
            aload 2 /* cdr */
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            iconst_2
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* car */
            aastore
            dup
            iconst_1
            aload 2 /* cdr */
            aastore
            invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         2: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject cdr
        end local 1 // org.jruby.runtime.builtin.IRubyObject car
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1      car  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2      cdr  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      car      
      cdr      

  public static org.jruby.RubyArray newArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject first
        start local 2 // org.jruby.runtime.builtin.IRubyObject second
        start local 3 // org.jruby.runtime.builtin.IRubyObject third
         0: .line 237
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            iconst_3
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* first */
            aastore
            dup
            iconst_1
            aload 2 /* second */
            aastore
            dup
            iconst_2
            aload 3 /* third */
            aastore
            invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject third
        end local 2 // org.jruby.runtime.builtin.IRubyObject second
        end local 1 // org.jruby.runtime.builtin.IRubyObject first
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    first  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2   second  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    third  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      first    
      second   
      third    

  public static org.jruby.RubyArray newArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject first
        start local 2 // org.jruby.runtime.builtin.IRubyObject second
        start local 3 // org.jruby.runtime.builtin.IRubyObject third
        start local 4 // org.jruby.runtime.builtin.IRubyObject fourth
         0: .line 241
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            iconst_4
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 1 /* first */
            aastore
            dup
            iconst_1
            aload 2 /* second */
            aastore
            dup
            iconst_2
            aload 3 /* third */
            aastore
            dup
            iconst_3
            aload 4 /* fourth */
            aastore
            invokestatic org.jruby.runtime.Helpers.arrayOf:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject fourth
        end local 3 // org.jruby.runtime.builtin.IRubyObject third
        end local 2 // org.jruby.runtime.builtin.IRubyObject second
        end local 1 // org.jruby.runtime.builtin.IRubyObject first
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1    first  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2   second  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    third  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4   fourth  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      first    
      second   
      third    
      fourth   

  public static org.jruby.RubyArray newEmptyArray(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.Ruby runtime
         0: .line 245
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            getstatic org.jruby.RubyArray.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  public static org.jruby.RubyArray newArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 252
            aload 1 /* args */
            arraylength
            istore 2 /* size */
        start local 2 // int size
         1: .line 253
            iload 2 /* size */
            ifne 3
         2: .line 254
            aload 0 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         3: .line 256
      StackMap locals: int
      StackMap stack:
            iload 2 /* size */
            invokestatic org.jruby.RubyArray.isPackedArray:(I)Z
            ifeq 4
            aload 0 /* runtime */
            aload 1 /* args */
            invokestatic org.jruby.RubyArray.packedArray:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            goto 5
         4: .line 257
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            invokevirtual org.jruby.runtime.builtin.IRubyObject[].clone:()Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
         5: .line 256
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
            areturn
        end local 2 // int size
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  runtime  Lorg/jruby/Ruby;
            0    6     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    6     2     size  I
    MethodParameters:
         Name  Flags
      runtime  
      args     

  public static org.jruby.RubyArray newArray(org.jruby.Ruby, java.util.Collection<? extends org.jruby.runtime.builtin.IRubyObject>);
    descriptor: (Lorg/jruby/Ruby;Ljava/util/Collection;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.util.Collection collection
         0: .line 261
            aload 1 /* collection */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 262
            aload 0 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         2: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* collection */
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            astore 2 /* arr */
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] arr
         3: .line 265
            aload 1 /* collection */
            invokestatic org.jruby.RubyArray.isPackedArray:(Ljava/util/Collection;)Z
            ifeq 4
            aload 0 /* runtime */
            aload 2 /* arr */
            invokestatic org.jruby.RubyArray.packedArray:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            goto 5
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
         4: new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 2 /* arr */
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         5: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] arr
        end local 1 // java.util.Collection collection
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0     runtime  Lorg/jruby/Ruby;
            0    6     1  collection  Ljava/util/Collection<+Lorg/jruby/runtime/builtin/IRubyObject;>;
            3    6     2         arr  [Lorg/jruby/runtime/builtin/IRubyObject;
    Signature: (Lorg/jruby/Ruby;Ljava/util/Collection<+Lorg/jruby/runtime/builtin/IRubyObject;>;)Lorg/jruby/RubyArray;
    MethodParameters:
            Name  Flags
      runtime     
      collection  

  public static org.jruby.RubyArray newArray(org.jruby.Ruby, java.util.List<? extends org.jruby.runtime.builtin.IRubyObject>);
    descriptor: (Lorg/jruby/Ruby;Ljava/util/List;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.util.List list
         0: .line 269
            aload 1 /* list */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 270
            aload 0 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         2: .line 272
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            invokestatic org.jruby.RubyArray.isPackedArray:(Ljava/util/Collection;)Z
            ifeq 3
            aload 0 /* runtime */
            aload 1 /* list */
            invokestatic org.jruby.RubyArray.packedArray:(Lorg/jruby/Ruby;Ljava/util/List;)Lorg/jruby/RubyArray;
            goto 4
         3: .line 273
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* list */
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject[]
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 272
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
            areturn
        end local 1 // java.util.List list
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  runtime  Lorg/jruby/Ruby;
            0    5     1     list  Ljava/util/List<+Lorg/jruby/runtime/builtin/IRubyObject;>;
    Signature: (Lorg/jruby/Ruby;Ljava/util/List<+Lorg/jruby/runtime/builtin/IRubyObject;>;)Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      runtime  
      list     

  private static org.jruby.RubyArray packedArray(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 277
            aload 1 /* args */
            arraylength
            iconst_1
            if_icmpne 2
         1: .line 278
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iconst_0
            aaload
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iconst_0
            aaload
            aload 1 /* args */
            iconst_1
            aaload
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  final
      args     final

  private static org.jruby.RubyArray packedArray(org.jruby.Ruby, java.util.List<? extends org.jruby.runtime.builtin.IRubyObject>);
    descriptor: (Lorg/jruby/Ruby;Ljava/util/List;)Lorg/jruby/RubyArray;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.util.List args
         0: .line 285
            aload 1 /* args */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 2
         1: .line 286
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         2: .line 288
      StackMap locals:
      StackMap stack:
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            aload 1 /* args */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jruby.runtime.builtin.IRubyObject
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 1 // java.util.List args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1     args  Ljava/util/List<+Lorg/jruby/runtime/builtin/IRubyObject;>;
    Signature: (Lorg/jruby/Ruby;Ljava/util/List<+Lorg/jruby/runtime/builtin/IRubyObject;>;)Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      runtime  final
      args     final

  private static boolean isPackedArray(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int size
         0: .line 293
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 1
            iload 0 /* size */
            iconst_2
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  size  I
    MethodParameters:
      Name  Flags
      size  final

  private static boolean isPackedArray(java.util.Collection<? extends org.jruby.runtime.builtin.IRubyObject>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection collection
         0: .line 297
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 1
            aload 0 /* collection */
            invokeinterface java.util.Collection.size:()I
            iconst_2
            if_icmpgt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  collection  Ljava/util/Collection<+Lorg/jruby/runtime/builtin/IRubyObject;>;
    Signature: (Ljava/util/Collection<+Lorg/jruby/runtime/builtin/IRubyObject;>;)Z
    MethodParameters:
            Name  Flags
      collection  final

  public static org.jruby.RubyArray newArrayMayCopy(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 304
            aload 0 /* runtime */
            aload 1 /* args */
            iconst_0
            aload 1 /* args */
            arraylength
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      args     

  public static org.jruby.RubyArray newArrayMayCopy(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // int start
         0: .line 311
            aload 0 /* runtime */
            aload 1 /* args */
            iload 2 /* start */
            aload 1 /* args */
            arraylength
            iload 2 /* start */
            isub
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)Lorg/jruby/RubyArray;
            areturn
        end local 2 // int start
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2    start  I
    MethodParameters:
         Name  Flags
      runtime  
      args     
      start    

  public static org.jruby.RubyArray newArrayMayCopy(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int, int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // int start
        start local 3 // int length
         0: .line 327
            iload 3 /* length */
            ifne 2
         1: .line 328
            aload 0 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         2: .line 330
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 7
         3: .line 331
            iload 3 /* length */
            iconst_1
            if_icmpne 5
         4: .line 332
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iload 2 /* start */
            aaload
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         5: .line 334
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            iconst_2
            if_icmpne 7
         6: .line 335
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iload 2 /* start */
            aaload
            aload 1 /* args */
            iload 2 /* start */
            iconst_1
            iadd
            aaload
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         7: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 1 /* args */
            iload 2 /* start */
            iload 3 /* length */
            invokestatic org.jruby.RubyArray.newArrayNoCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)Lorg/jruby/RubyArray;
            areturn
        end local 3 // int length
        end local 2 // int start
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  runtime  Lorg/jruby/Ruby;
            0    8     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     2    start  I
            0    8     3   length  I
    MethodParameters:
         Name  Flags
      runtime  
      args     
      start    
      length   

  public static org.jruby.RubyArray newArrayNoCopy(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 342
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      args     

  public static org.jruby.RubyArray newArrayNoCopy(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // int begin
         0: .line 346
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 1
            iload 2 /* begin */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "begin must be >= 0"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 347
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 2
            iload 2 /* begin */
            aload 1 /* args */
            arraylength
            if_icmple 2
            new java.lang.AssertionError
            dup
            ldc "begin must be <= length"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 349
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iload 2 /* begin */
            aload 1 /* args */
            arraylength
            iload 2 /* begin */
            isub
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)V
            areturn
        end local 2 // int begin
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2    begin  I
    MethodParameters:
         Name  Flags
      runtime  
      args     
      begin    

  public static org.jruby.RubyArray newArrayNoCopy(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int, int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 2 // int begin
        start local 3 // int length
         0: .line 353
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 1
            iload 2 /* begin */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "begin must be >= 0"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 354
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 2
            iload 3 /* length */
            ifge 2
            new java.lang.AssertionError
            dup
            ldc "length must be >= 0"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 356
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iload 2 /* begin */
            iload 3 /* length */
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)V
            areturn
        end local 3 // int length
        end local 2 // int begin
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2    begin  I
            0    3     3   length  I
    MethodParameters:
         Name  Flags
      runtime  
      args     
      begin    
      length   

  public static org.jruby.RubyArray newArrayNoCopyLight(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 360
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* args */
            iconst_0
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;Z)V
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      args     

  private void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] vals
         0: .line 382
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 383
            aload 0 /* this */
            aload 2 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 384
            aload 0 /* this */
            aload 2 /* vals */
            arraylength
            putfield org.jruby.RubyArray.realLength:I
         6: .line 385
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  runtime  Lorg/jruby/Ruby;
            0    7     2     vals  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      vals     

  private void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], boolean);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] vals
        start local 3 // boolean objectSpace
         0: .line 391
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            iload 3 /* objectSpace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 392
            aload 0 /* this */
            aload 2 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 393
            aload 0 /* this */
            aload 2 /* vals */
            arraylength
            putfield org.jruby.RubyArray.realLength:I
         6: .line 394
            return
        end local 3 // boolean objectSpace
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/RubyArray<TT;>;
            0    7     1      runtime  Lorg/jruby/Ruby;
            0    7     2         vals  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     3  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      vals         
      objectSpace  

  private void <init>(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int, int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] vals
        start local 3 // int begin
        start local 4 // int length
         0: .line 400
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 401
            aload 0 /* this */
            aload 2 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 402
            aload 0 /* this */
            iload 3 /* begin */
            putfield org.jruby.RubyArray.begin:I
         6: .line 403
            aload 0 /* this */
            iload 4 /* length */
            putfield org.jruby.RubyArray.realLength:I
         7: .line 404
            return
        end local 4 // int length
        end local 3 // int begin
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  runtime  Lorg/jruby/Ruby;
            0    8     2     vals  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3    begin  I
            0    8     4   length  I
    MethodParameters:
         Name  Flags
      runtime  
      vals     
      begin    
      length   

  private void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject[], int, int, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;IIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=7
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass metaClass
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] vals
        start local 4 // int begin
        start local 5 // int length
        start local 6 // boolean objectSpace
         0: .line 407
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* metaClass */
            iload 6 /* objectSpace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 408
            aload 0 /* this */
            aload 3 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 409
            aload 0 /* this */
            iload 4 /* begin */
            putfield org.jruby.RubyArray.begin:I
         6: .line 410
            aload 0 /* this */
            iload 5 /* length */
            putfield org.jruby.RubyArray.realLength:I
         7: .line 411
            return
        end local 6 // boolean objectSpace
        end local 5 // int length
        end local 4 // int begin
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 2 // org.jruby.RubyClass metaClass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/jruby/RubyArray<TT;>;
            0    8     1      runtime  Lorg/jruby/Ruby;
            0    8     2    metaClass  Lorg/jruby/RubyClass;
            0    8     3         vals  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     4        begin  I
            0    8     5       length  I
            0    8     6  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      metaClass    
      vals         
      begin        
      length       
      objectSpace  

  public void <init>(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int length
         0: .line 414
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 415
            aload 0 /* this */
            iload 2 /* length */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 416
            return
        end local 2 // int length
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  runtime  Lorg/jruby/Ruby;
            0    6     2   length  I
    MethodParameters:
         Name  Flags
      runtime  
      length   

  private void <init>(org.jruby.Ruby, boolean);
    descriptor: (Lorg/jruby/Ruby;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // boolean objectSpace
         0: .line 422
            aload 0 /* this */
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            iload 2 /* objectSpace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 423
            return
        end local 2 // boolean objectSpace
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/RubyArray<TT;>;
            0    5     1      runtime  Lorg/jruby/Ruby;
            0    5     2  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      objectSpace  

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
         0: .line 426
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 427
            return
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  runtime  Lorg/jruby/Ruby;
            0    5     2    klass  Lorg/jruby/RubyClass;
    MethodParameters:
         Name  Flags
      runtime  
      klass    

  private void <init>(org.jruby.Ruby, org.jruby.RubyClass, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
        start local 3 // int length
         0: .line 433
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 434
            aload 0 /* this */
            iload 3 /* length */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 435
            return
        end local 3 // int length
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  runtime  Lorg/jruby/Ruby;
            0    6     2    klass  Lorg/jruby/RubyClass;
            0    6     3   length  I
    MethodParameters:
         Name  Flags
      runtime  
      klass    
      length   

  private void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject[], boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] vals
        start local 4 // boolean objectspace
         0: .line 438
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            iload 4 /* objectspace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 439
            aload 0 /* this */
            aload 3 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 440
            aload 0 /* this */
            aload 3 /* vals */
            arraylength
            putfield org.jruby.RubyArray.realLength:I
         6: .line 441
            return
        end local 4 // boolean objectspace
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/RubyArray<TT;>;
            0    7     1      runtime  Lorg/jruby/Ruby;
            0    7     2        klass  Lorg/jruby/RubyClass;
            0    7     3         vals  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     4  objectspace  Z
    MethodParameters:
             Name  Flags
      runtime      
      klass        
      vals         
      objectspace  

  protected void <init>(org.jruby.Ruby, org.jruby.RubyClass, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
        start local 3 // boolean objectSpace
         0: .line 444
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            iload 3 /* objectSpace */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 445
            return
        end local 3 // boolean objectSpace
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/jruby/RubyArray<TT;>;
            0    5     1      runtime  Lorg/jruby/Ruby;
            0    5     2        klass  Lorg/jruby/RubyClass;
            0    5     3  objectSpace  Z
    MethodParameters:
             Name  Flags
      runtime      
      klass        
      objectSpace  

  public void <init>(org.jruby.Ruby, org.jruby.RubyClass, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyClass klass
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] vals
         0: .line 448
            aload 0 /* this */
            aload 1 /* runtime */
            aload 2 /* klass */
            invokespecial org.jruby.RubyObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
         1: .line 371
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 375
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         3: .line 376
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         4: .line 449
            aload 0 /* this */
            aload 3 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         5: .line 450
            aload 0 /* this */
            aload 3 /* vals */
            arraylength
            putfield org.jruby.RubyArray.realLength:I
         6: .line 451
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 2 // org.jruby.RubyClass klass
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  runtime  Lorg/jruby/Ruby;
            0    7     2    klass  Lorg/jruby/RubyClass;
            0    7     3     vals  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      klass    
      vals     

  protected void unpack();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 457
            return
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  private void alloc(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int length
         0: .line 460
            iload 1 /* length */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* newValues */
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] newValues
         1: .line 461
            aload 2 /* newValues */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/Ruby;)V
         2: .line 462
            aload 0 /* this */
            aload 2 /* newValues */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         3: .line 463
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         4: .line 464
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] newValues
        end local 1 // int length
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/jruby/RubyArray<TT;>;
            0    5     1     length  I
            1    5     2  newValues  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      length  

  private void realloc(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int newLength
        start local 2 // int valuesLength
         0: .line 467
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 468
            iload 1 /* newLength */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* reallocated */
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] reallocated
         2: .line 469
            iload 1 /* newLength */
            iload 2 /* valuesLength */
            if_icmple 6
         3: .line 470
            aload 3 /* reallocated */
            iload 2 /* valuesLength */
            iload 1 /* newLength */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         4: .line 471
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 3 /* reallocated */
            iconst_0
            iload 2 /* valuesLength */
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
         5: .line 472
            goto 7
         6: .line 473
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 3 /* reallocated */
            iconst_0
            iload 1 /* newLength */
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
         7: .line 475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         8: .line 476
            aload 0 /* this */
            aload 3 /* reallocated */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         9: .line 477
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] reallocated
        end local 2 // int valuesLength
        end local 1 // int newLength
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/jruby/RubyArray<TT;>;
            0   10     1     newLength  I
            0   10     2  valuesLength  I
            2   10     3   reallocated  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
              Name  Flags
      newLength     
      valuesLength  

  protected static final void checkLength(org.jruby.Ruby, long);
    descriptor: (Lorg/jruby/Ruby;J)V
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // long length
         0: .line 480
            lload 1 /* length */
            lconst_0
            lcmp
            ifge 2
         1: .line 481
            aload 0 /* runtime */
            ldc "negative array size (or size too big)"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 484
      StackMap locals:
      StackMap stack:
            lload 1 /* length */
            ldc 2147483647
            lcmp
            iflt 4
         3: .line 485
            aload 0 /* runtime */
            ldc "array size too big"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 487
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long length
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  runtime  Lorg/jruby/Ruby;
            0    5     1   length  J
    MethodParameters:
         Name  Flags
      runtime  
      length   

  public final java.util.List<org.jruby.runtime.builtin.IRubyObject> getList();
    descriptor: ()Ljava/util/List;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 494
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.toJavaArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
    Signature: ()Ljava/util/List<Lorg/jruby/runtime/builtin/IRubyObject;>;

  public int getLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 498
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ireturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.runtime.builtin.IRubyObject[] toJavaArray();
    descriptor: ()[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 502
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* copy */
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] copy
         1: .line 503
            aload 0 /* this */
            aload 1 /* copy */
            iconst_0
            invokevirtual org.jruby.RubyArray.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;I)V
         2: .line 504
            aload 1 /* copy */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] copy
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            1    3     1  copy  [Lorg/jruby/runtime/builtin/IRubyObject;

  public org.jruby.runtime.builtin.IRubyObject[] toJavaArrayUnsafe();
    descriptor: ()[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 508
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 509
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifne 2
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual org.jruby.RubyArray.toJavaArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
         3: areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.runtime.builtin.IRubyObject[] toJavaArrayMaybeUnsafe();
    descriptor: ()[Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 513
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 514
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifne 2
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            ifne 2
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpne 2
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            invokevirtual org.jruby.RubyArray.toJavaArray:()[Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject[]
         3: areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyArray<TT;>;

  private org.jruby.RubyArray makeShared();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 522
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 524
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;

  private org.jruby.RubyArray makeShared(int, int, org.jruby.RubyClass);
    descriptor: (IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // int beg
        start local 2 // int len
        start local 3 // org.jruby.RubyClass klass
         0: .line 528
            aload 0 /* this */
            iload 1 /* beg */
            iload 2 /* len */
            new org.jruby.RubyArray
            dup
            aload 3 /* klass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 3 /* klass */
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;)V
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyArray;)Lorg/jruby/RubyArray;
            areturn
        end local 3 // org.jruby.RubyClass klass
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyArray<TT;>;
            0    1     1    beg  I
            0    1     2    len  I
            0    1     3  klass  Lorg/jruby/RubyClass;
    MethodParameters:
       Name  Flags
      beg    
      len    
      klass  

  private final org.jruby.RubyArray makeShared(int, int, org.jruby.RubyArray);
    descriptor: (IILorg/jruby/RubyArray;)Lorg/jruby/RubyArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // int beg
        start local 2 // int len
        start local 3 // org.jruby.RubyArray sharedArray
         0: .line 532
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 533
            aload 0 /* this */
            iconst_1
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 534
            aload 3 /* sharedArray */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         3: .line 535
            aload 3 /* sharedArray */
            iconst_1
            putfield org.jruby.RubyArray.isShared:Z
         4: .line 536
            aload 3 /* sharedArray */
            iload 1 /* beg */
            putfield org.jruby.RubyArray.begin:I
         5: .line 537
            aload 3 /* sharedArray */
            iload 2 /* len */
            putfield org.jruby.RubyArray.realLength:I
         6: .line 538
            aload 3 /* sharedArray */
            areturn
        end local 3 // org.jruby.RubyArray sharedArray
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/jruby/RubyArray<TT;>;
            0    7     1          beg  I
            0    7     2          len  I
            0    7     3  sharedArray  Lorg/jruby/RubyArray;
    MethodParameters:
             Name  Flags
      beg          
      len          
      sharedArray  

  private org.jruby.RubyArray makeSharedFirst(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, boolean, org.jruby.RubyClass);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // boolean last
        start local 4 // org.jruby.RubyClass klass
         0: .line 545
            aload 2 /* num */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* n */
        start local 5 // int n
         1: .line 547
            iload 5 /* n */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmple 4
         2: .line 548
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 5 /* n */
         3: .line 549
            goto 6
      StackMap locals: int
      StackMap stack:
         4: iload 5 /* n */
            ifge 6
         5: .line 550
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "negative array size"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* last */
            ifeq 7
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            iload 5 /* n */
            isub
            goto 8
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         7: aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int org.jruby.RubyClass int
      StackMap stack: org.jruby.RubyArray int
         8: iload 5 /* n */
            aload 4 /* klass */
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 5 // int n
        end local 4 // org.jruby.RubyClass klass
        end local 3 // boolean last
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3     last  Z
            0    9     4    klass  Lorg/jruby/RubyClass;
            1    9     5        n  I
    MethodParameters:
         Name  Flags
      context  
      num      
      last     
      klass    

  protected final void modifyCheck();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 560
            aload 0 /* this */
            getfield org.jruby.RubyArray.flags:I
            getstatic org.jruby.RubyArray.TMPLOCK_OR_FROZEN_ARR_F:I
            iand
            ifeq 3
         1: .line 561
            aload 0 /* this */
            getfield org.jruby.RubyArray.flags:I
            getstatic org.jruby.RubyArray.FROZEN_F:I
            iand
            ifeq 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.Ruby.newFrozenError:(Lorg/jruby/RubyModule;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.flags:I
            sipush 512
            iand
            ifeq 3
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            ldc "can't modify array during iteration"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 564
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyArray<TT;>;

  protected void modify();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 570
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 571
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifeq 7
         2: .line 572
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 1 /* vals */
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] vals
         3: .line 573
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 1 /* vals */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
         4: .line 574
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         5: .line 575
            aload 0 /* this */
            aload 1 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         6: .line 576
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] vals
         7: .line 578
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jruby/RubyArray<TT;>;
            3    7     1  vals  [Lorg/jruby/runtime/builtin/IRubyObject;

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 590
            aload 2 /* args */
            arraylength
            tableswitch { // 0 - 2
                    0: 1
                    1: 2
                    2: 3
              default: 4
          }
         1: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.initialize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 594
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aconst_null
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.initializeCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.initializeCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            iconst_0
            iconst_2
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         5: .line 599
            aconst_null
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 608
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 609
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         2: .line 610
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
         3: .line 611
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 5
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.isVerbose:()Z
            ifeq 5
         4: .line 612
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.BLOCK_UNUSED:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "given block not used"
            invokevirtual org.jruby.common.RubyWarnings.warning:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         5: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 622
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aconst_null
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.initializeCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject initialize(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 630
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg0 */
            aload 3 /* arg1 */
            aload 4 /* block */
            invokevirtual org.jruby.RubyArray.initializeCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     4    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  protected org.jruby.runtime.builtin.IRubyObject initializeCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 634
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 635
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         2: .line 637
            aload 3 /* arg1 */
            ifnonnull 7
            aload 2 /* arg0 */
            instanceof org.jruby.RubyFixnum
            ifne 7
         3: .line 638
            aload 2 /* arg0 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkArrayType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* val */
        start local 6 // org.jruby.runtime.builtin.IRubyObject val
         4: .line 639
            aload 6 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 7
         5: .line 640
            aload 0 /* this */
            aload 6 /* val */
            invokevirtual org.jruby.RubyArray.replace:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 641
            aload 0 /* this */
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject val
         7: .line 645
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 6 /* len */
        start local 6 // long len
         8: .line 646
            lload 6 /* len */
            lconst_0
            lcmp
            ifge 9
            aload 5 /* runtime */
            ldc "negative array size"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         9: .line 647
      StackMap locals: long
      StackMap stack:
            lload 6 /* len */
            ldc 2147483647
            lcmp
            iflt 10
            aload 5 /* runtime */
            ldc "array size too big"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 648
      StackMap locals:
      StackMap stack:
            lload 6 /* len */
            l2i
            istore 8 /* ilen */
        start local 8 // int ilen
        11: .line 650
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
        12: .line 652
            iload 8 /* ilen */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            if_icmple 15
        13: .line 653
            aload 0 /* this */
            iload 8 /* ilen */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
        14: .line 654
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
        15: .line 657
      StackMap locals: int
      StackMap stack:
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 34
        16: .line 658
            aload 3 /* arg1 */
            ifnull 18
        17: .line 659
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.BLOCK_BEATS_DEFAULT_VALUE:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "block supersedes default value argument"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
        18: .line 662
      StackMap locals:
      StackMap stack:
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
            getstatic org.jruby.runtime.Signature.NO_ARGUMENTS:Lorg/jruby/runtime/Signature;
            if_acmpne 27
        19: .line 663
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* nil */
        start local 9 // org.jruby.runtime.builtin.IRubyObject nil
        20: .line 664
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        21: goto 25
        22: .line 665
      StackMap locals: org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 0 /* this */
            iload 10 /* i */
            aload 4 /* block */
            aload 1 /* context */
            aload 9 /* nil */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
        23: .line 666
            aload 0 /* this */
            iload 10 /* i */
            iconst_1
            iadd
            putfield org.jruby.RubyArray.realLength:I
        24: .line 664
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 10 /* i */
            iload 8 /* ilen */
            if_icmplt 22
        end local 10 // int i
        end local 9 // org.jruby.runtime.builtin.IRubyObject nil
        26: .line 668
            goto 42
        27: .line 669
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        28: goto 32
        29: .line 670
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* i */
            aload 4 /* block */
            aload 1 /* context */
            aload 5 /* runtime */
            iload 9 /* i */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
        30: .line 671
            aload 0 /* this */
            iload 9 /* i */
            iconst_1
            iadd
            putfield org.jruby.RubyArray.realLength:I
        31: .line 669
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 9 /* i */
            iload 8 /* ilen */
            if_icmplt 29
        end local 9 // int i
        33: .line 675
            goto 42
        34: .line 677
      StackMap locals:
      StackMap stack:
            aload 3 /* arg1 */
            ifnonnull 37
        35: .line 678
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 8 /* ilen */
            iadd
            aload 5 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        36: .line 679
            goto 41
        37: .line 680
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 8 /* ilen */
            iadd
            aload 3 /* arg1 */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
        38: .line 682
            goto 41
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        39: astore 9 /* ex */
        start local 9 // java.lang.ArrayIndexOutOfBoundsException ex
        40: .line 683
            aload 5 /* runtime */
            aload 9 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 9 // java.lang.ArrayIndexOutOfBoundsException ex
        41: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* ilen */
            putfield org.jruby.RubyArray.realLength:I
        42: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 8 // int ilen
        end local 6 // long len
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0     this  Lorg/jruby/RubyArray<TT;>;
            0   43     1  context  Lorg/jruby/runtime/ThreadContext;
            0   43     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   43     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0   43     4    block  Lorg/jruby/runtime/Block;
            2   43     5  runtime  Lorg/jruby/Ruby;
            4    7     6      val  Lorg/jruby/runtime/builtin/IRubyObject;
            8   43     6      len  J
           11   43     8     ilen  I
           20   26     9      nil  Lorg/jruby/runtime/builtin/IRubyObject;
           21   26    10        i  I
           28   33     9        i  I
           40   41     9       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          34    38      39  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public org.jruby.runtime.builtin.IRubyObject initialize_copy(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject orig
         0: .line 696
            aload 0 /* this */
            aload 1 /* orig */
            invokevirtual org.jruby.RubyArray.replace:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject orig
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  orig  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"initialize_copy"}, required = 1, visibility = org.jruby.runtime.Visibility.PRIVATE:Lorg/jruby/runtime/Visibility;)
    MethodParameters:
      Name  Flags
      orig  

  public org.jruby.runtime.builtin.IRubyObject dup();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 706
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getClassIndex:()Lorg/jruby/runtime/ClassIndex;
            getstatic org.jruby.runtime.ClassIndex.ARRAY:Lorg/jruby/runtime/ClassIndex;
            if_acmpeq 1
            aload 0 /* this */
            invokespecial org.jruby.RubyObject.dup:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.dupImpl:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 1 /* dup */
        start local 1 // org.jruby.RubyArray dup
         2: .line 709
            aload 1 /* dup */
            dup
            getfield org.jruby.RubyArray.flags:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.flags:I
            getstatic org.jruby.RubyArray.TAINTED_F:I
            iand
            ior
            putfield org.jruby.RubyArray.flags:I
         3: .line 710
            aload 1 /* dup */
            areturn
        end local 1 // org.jruby.RubyArray dup
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyArray<TT;>;
            2    4     1   dup  Lorg/jruby/RubyArray;

  protected org.jruby.RubyArray dupImpl(org.jruby.RubyClass);
    descriptor: (Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.RubyClass metaClass
         0: .line 714
            new org.jruby.RubyArray
            dup
            aload 1 /* metaClass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* metaClass */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;IIZ)V
            astore 2 /* dup */
        start local 2 // org.jruby.RubyArray dup
         1: .line 715
            aload 2 /* dup */
            aload 0 /* this */
            iconst_1
            dup_x1
            putfield org.jruby.RubyArray.isShared:Z
            putfield org.jruby.RubyArray.isShared:Z
         2: .line 716
            aload 2 /* dup */
            areturn
        end local 2 // org.jruby.RubyArray dup
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  metaClass  Lorg/jruby/RubyClass;
            1    3     2        dup  Lorg/jruby/RubyArray;
    MethodParameters:
           Name  Flags
      metaClass  

  public org.jruby.RubyArray aryDup();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 726
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.dupImpl:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.runtime.builtin.IRubyObject replace(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject orig
         0: .line 734
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 735
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         2: .line 737
            aload 0 /* this */
            aload 1 /* orig */
            if_acmpne 3
            aload 0 /* this */
            areturn
         3: .line 739
      StackMap locals:
      StackMap stack:
            aload 1 /* orig */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 2 /* origArr */
        start local 2 // org.jruby.RubyArray origArr
         4: .line 741
            aload 2 /* origArr */
            invokevirtual org.jruby.RubyArray.unpack:()V
         5: .line 743
            aload 2 /* origArr */
            iconst_1
            putfield org.jruby.RubyArray.isShared:Z
         6: .line 744
            aload 0 /* this */
            iconst_1
            putfield org.jruby.RubyArray.isShared:Z
         7: .line 745
            aload 0 /* this */
            aload 2 /* origArr */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         8: .line 746
            aload 0 /* this */
            aload 2 /* origArr */
            getfield org.jruby.RubyArray.realLength:I
            putfield org.jruby.RubyArray.realLength:I
         9: .line 747
            aload 0 /* this */
            aload 2 /* origArr */
            getfield org.jruby.RubyArray.begin:I
            putfield org.jruby.RubyArray.begin:I
        10: .line 750
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.RubyArray origArr
        end local 1 // org.jruby.runtime.builtin.IRubyObject orig
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyArray<TT;>;
            0   11     1     orig  Lorg/jruby/runtime/builtin/IRubyObject;
            4   11     2  origArr  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"replace"}, required = 1)
    MethodParameters:
      Name  Flags
      orig  

  public org.jruby.RubyString to_s(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 758
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_s"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject to_s();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 763
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyArray.to_s:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public boolean includes(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 767
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 3 /* myBegin */
        start local 3 // int myBegin
         1: .line 768
            iload 3 /* myBegin */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            istore 4 /* end */
        start local 4 // int end
         2: .line 769
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* values */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] values
         3: .line 770
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         4: .line 771
            iload 3 /* myBegin */
            istore 7 /* i */
        start local 7 // int i
         5: goto 9
         6: .line 772
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int int org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int
      StackMap stack:
            aload 6 /* runtime */
            aload 5 /* values */
            iload 7 /* i */
            invokestatic org.jruby.RubyArray.safeArrayRef:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* value */
        start local 8 // org.jruby.runtime.builtin.IRubyObject value
         7: .line 773
            aload 1 /* context */
            aload 8 /* value */
            aload 2 /* item */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 8
            iconst_1
            ireturn
        end local 8 // org.jruby.runtime.builtin.IRubyObject value
         8: .line 771
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 7 /* i */
            iload 4 /* end */
            if_icmplt 6
        end local 7 // int i
        10: .line 776
            iconst_0
            ireturn
        end local 6 // org.jruby.Ruby runtime
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 4 // int end
        end local 3 // int myBegin
        end local 2 // org.jruby.runtime.builtin.IRubyObject item
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyArray<TT;>;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     item  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3  myBegin  I
            2   11     4      end  I
            3   11     5   values  [Lorg/jruby/runtime/builtin/IRubyObject;
            4   11     6  runtime  Lorg/jruby/Ruby;
            5   10     7        i  I
            7    8     8    value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      item     

  public org.jruby.RubyFixnum hash19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 781
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.hash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyFixnum hash();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 786
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyArray.hash:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.RubyFixnum hash(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 794
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.hashImpl:(Lorg/jruby/runtime/ThreadContext;)J
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"hash"})
    MethodParameters:
         Name  Flags
      context  

  private long hashImpl(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 798
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokestatic org.jruby.runtime.Helpers.hashStart:(Lorg/jruby/Ruby;J)J
            lstore 2 /* h */
        start local 2 // long h
         1: .line 800
            lload 2 /* h */
            ldc Lorg/jruby/RubyArray;
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            i2l
            invokestatic org.jruby.runtime.Helpers.murmurCombine:(JJ)J
            lstore 2 /* h */
         2: .line 802
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 8
         4: .line 803
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* value */
        start local 5 // org.jruby.runtime.builtin.IRubyObject value
         5: .line 804
            aload 1 /* context */
            aload 5 /* value */
            invokestatic org.jruby.runtime.Helpers.safeHash:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFixnum;
            astore 6 /* n */
        start local 6 // org.jruby.RubyFixnum n
         6: .line 805
            lload 2 /* h */
            aload 6 /* n */
            getfield org.jruby.RubyFixnum.value:J
            invokestatic org.jruby.runtime.Helpers.murmurCombine:(JJ)J
            lstore 2 /* h */
        end local 6 // org.jruby.RubyFixnum n
        end local 5 // org.jruby.runtime.builtin.IRubyObject value
         7: .line 802
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
        end local 4 // int i
         9: .line 808
            lload 2 /* h */
            invokestatic org.jruby.runtime.Helpers.hashEnd:(J)J
            lreturn
        end local 2 // long h
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyArray<TT;>;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            1   10     2        h  J
            3    9     4        i  I
            5    7     5    value  Lorg/jruby/runtime/builtin/IRubyObject;
            6    7     6        n  Lorg/jruby/RubyFixnum;
    MethodParameters:
         Name  Flags
      context  final

  public org.jruby.runtime.builtin.IRubyObject store(long, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // long index
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 822
            lload 1 /* index */
            lconst_0
            lcmp
            ifge 2
            lload 1 /* index */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            ladd
            dup2
            lstore 1 /* index */
            lconst_0
            lcmp
            ifge 2
         1: .line 823
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* index */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " out of array"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 825
      StackMap locals:
      StackMap stack:
            lload 1 /* index */
            ldc 2147483647
            lcmp
            iflt 4
         3: .line 826
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " too big"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         5: .line 831
            aload 0 /* this */
            lload 1 /* index */
            l2i
            aload 3 /* value */
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 833
            aload 3 /* value */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // long index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  index  J
            0    7     3  value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
       Name  Flags
      index  
      value  

  protected void storeInternal(int, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (ILorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 837
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 1
            iload 1 /* index */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 839
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 5
         2: .line 840
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 3 /* valuesLength */
        start local 3 // int valuesLength
         3: .line 841
            iload 1 /* index */
            iload 3 /* valuesLength */
            if_icmplt 4
            aload 0 /* this */
            iload 1 /* index */
            iload 3 /* valuesLength */
            invokevirtual org.jruby.RubyArray.storeRealloc:(II)V
         4: .line 842
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            iconst_1
            iadd
            putfield org.jruby.RubyArray.realLength:I
        end local 3 // int valuesLength
         5: .line 845
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 1 /* index */
            iadd
            aload 2 /* value */
            invokevirtual org.jruby.RubyArray.safeArraySet:([Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 846
            return
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/jruby/RubyArray<TT;>;
            0    7     1         index  I
            0    7     2         value  Lorg/jruby/runtime/builtin/IRubyObject;
            3    5     3  valuesLength  I
    MethodParameters:
       Name  Flags
      index  final
      value  final

  private void storeRealloc(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
        start local 2 // int valuesLength
         0: .line 849
            iload 2 /* valuesLength */
            iconst_1
            ishr
            i2l
            lstore 3 /* newLength */
        start local 3 // long newLength
         1: .line 851
            lload 3 /* newLength */
            ldc 16
            lcmp
            ifge 2
            ldc 16
            lstore 3 /* newLength */
         2: .line 853
      StackMap locals: long
      StackMap stack:
            lload 3 /* newLength */
            iload 1 /* index */
            i2l
            ladd
            lstore 3 /* newLength */
         3: .line 854
            lload 3 /* newLength */
            ldc 2147483647
            lcmp
            iflt 5
         4: .line 855
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* index */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " too big"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* newLength */
            l2i
            iload 2 /* valuesLength */
            invokevirtual org.jruby.RubyArray.realloc:(II)V
         6: .line 858
            return
        end local 3 // long newLength
        end local 2 // int valuesLength
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/jruby/RubyArray<TT;>;
            0    7     1         index  I
            0    7     2  valuesLength  I
            1    7     3     newLength  J
    MethodParameters:
              Name  Flags
      index         final
      valuesLength  final

  private final org.jruby.runtime.builtin.IRubyObject elt(long);
    descriptor: (J)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // long offset
         0: .line 864
            lload 1 /* offset */
            lconst_0
            lcmp
            iflt 1
            lload 1 /* offset */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            iflt 2
         1: .line 865
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* offset */
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // long offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  offset  J
    MethodParameters:
        Name  Flags
      offset  

  public T eltOk();
    descriptor: (J)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // long offset
         0: .line 872
            aload 0 /* this */
            lload 1 /* offset */
            l2i
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
         1: areturn
         2: .line 873
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 874
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        end local 1 // long offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  offset  J
            3    4     3      ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    Signature: (J)TT;
    MethodParameters:
        Name  Flags
      offset  

  public T eltSetOk(long, );
    descriptor: (JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // long offset
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 879
            aload 0 /* this */
            lload 1 /* offset */
            l2i
            aload 3 /* value */
            invokevirtual org.jruby.RubyArray.eltSetOk:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // long offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  offset  J
            0    1     3   value  TT;
    Signature: (JTT;)TT;
    MethodParameters:
        Name  Flags
      offset  
      value   

  public T eltSetOk(int, );
    descriptor: (ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int offset
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 884
            aload 0 /* this */
            iload 1 /* offset */
            aload 2 /* value */
            invokevirtual org.jruby.RubyArray.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
         1: areturn
         2: .line 885
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 886
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // int offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  offset  I
            0    4     2   value  TT;
            3    4     3      ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    Signature: (ITT;)TT;
    MethodParameters:
        Name  Flags
      offset  
      value   

  public final org.jruby.runtime.builtin.IRubyObject entry(long);
    descriptor: (J)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // long offset
         0: .line 894
            lload 1 /* offset */
            lconst_0
            lcmp
            ifge 1
            aload 0 /* this */
            lload 1 /* offset */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            ladd
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            lload 1 /* offset */
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // long offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  offset  J
    MethodParameters:
        Name  Flags
      offset  

  public final org.jruby.runtime.builtin.IRubyObject entry(int);
    descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int offset
         0: .line 898
            iload 1 /* offset */
            ifge 1
            aload 0 /* this */
            iload 1 /* offset */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            iload 1 /* offset */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // int offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  public T eltInternal();
    descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int offset
         0: .line 902
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 1 /* offset */
            iadd
            aaload
            areturn
        end local 1 // int offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  offset  I
    Signature: (I)TT;
    MethodParameters:
        Name  Flags
      offset  

  public T eltInternalSet(int, );
    descriptor: (ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int offset
        start local 2 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 906
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 1 /* offset */
            iadd
            aload 2 /* item */
            aastore
         1: .line 907
            aload 2 /* item */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject item
        end local 1 // int offset
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  offset  I
            0    2     2    item  TT;
    Signature: (ITT;)TT;
    MethodParameters:
        Name  Flags
      offset  
      item    

  public org.jruby.runtime.builtin.IRubyObject fetch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 915
            aload 2 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 917
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.fetch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            aaload
            aload 2 /* args */
            iconst_1
            aaload
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.fetch:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 921
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            arraylength
            iconst_1
            iconst_2
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         4: .line 922
            aconst_null
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject fetch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.Block block
         0: .line 931
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 4 /* index */
        start local 4 // long index
         1: .line 933
            lload 4 /* index */
            lconst_0
            lcmp
            ifge 2
            lload 4 /* index */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            ladd
            lstore 4 /* index */
         2: .line 934
      StackMap locals: long
      StackMap stack:
            lload 4 /* index */
            lconst_0
            lcmp
            iflt 3
            lload 4 /* index */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            iflt 5
         3: .line 935
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 4
            aload 3 /* block */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 936
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* index */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " out of array"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 4 /* index */
            l2i
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // long index
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3    block  Lorg/jruby/runtime/Block;
            1    6     4    index  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      block    

  public org.jruby.runtime.builtin.IRubyObject fetch(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 4 // org.jruby.runtime.Block block
         0: .line 947
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
         1: .line 948
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.BLOCK_BEATS_DEFAULT_VALUE:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "block supersedes default value argument"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         2: .line 951
      StackMap locals:
      StackMap stack:
            aload 2 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 5 /* index */
        start local 5 // long index
         3: .line 953
            lload 5 /* index */
            lconst_0
            lcmp
            ifge 4
            lload 5 /* index */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            ladd
            lstore 5 /* index */
         4: .line 954
      StackMap locals: long
      StackMap stack:
            lload 5 /* index */
            lconst_0
            lcmp
            iflt 5
            lload 5 /* index */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            iflt 7
         5: .line 955
      StackMap locals:
      StackMap stack:
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 6
            aload 4 /* block */
            aload 1 /* context */
            aload 2 /* arg0 */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 956
      StackMap locals:
      StackMap stack:
            aload 3 /* arg1 */
            areturn
         7: .line 959
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 5 /* index */
            l2i
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // long index
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     4    block  Lorg/jruby/runtime/Block;
            3    8     5    index  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg0     
      arg1     
      block    

  public static org.jruby.RubyArray aryToAry(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 966
            aload 0 /* context */
            aload 1 /* obj */
            invokestatic org.jruby.util.TypeConverter.checkArrayType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* tmp */
        start local 2 // org.jruby.runtime.builtin.IRubyObject tmp
         1: .line 967
            aload 2 /* tmp */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 2
            aload 2 /* tmp */
            checkcast org.jruby.RubyArray
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* obj */
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         3: areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  context  Lorg/jruby/runtime/ThreadContext;
            0    4     1      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     2      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      obj      

  public static org.jruby.RubyArray aryToAry(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 972
            aload 0 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* obj */
            invokestatic org.jruby.RubyArray.aryToAry:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.runtime.builtin.IRubyObject obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      obj   

  private void splice(org.jruby.Ruby, int, int, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;IILorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int beg
        start local 3 // int len
        start local 4 // org.jruby.runtime.builtin.IRubyObject rpl
         0: .line 976
            iload 3 /* len */
            ifge 1
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "negative length ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* len */
            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;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 977
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            ifge 3
            iload 2 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            dup
            istore 2 /* beg */
            ifge 3
         2: .line 978
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " out of array"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 983
      StackMap locals:
      StackMap stack:
            aload 4 /* rpl */
            ifnonnull 7
         4: .line 984
            aconst_null
            astore 5 /* rplArr */
        start local 5 // org.jruby.RubyArray rplArr
         5: .line 985
            iconst_0
            istore 6 /* rlen */
        start local 6 // int rlen
         6: .line 986
            goto 13
        end local 6 // int rlen
        end local 5 // org.jruby.RubyArray rplArr
      StackMap locals:
      StackMap stack:
         7: aload 4 /* rpl */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 11
         8: .line 988
            aload 1 /* runtime */
            aload 4 /* rpl */
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 5 /* rplArr */
        start local 5 // org.jruby.RubyArray rplArr
         9: .line 989
            iconst_1
            istore 6 /* rlen */
        start local 6 // int rlen
        10: .line 990
            goto 13
        end local 6 // int rlen
        end local 5 // org.jruby.RubyArray rplArr
        11: .line 991
      StackMap locals:
      StackMap stack:
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 4 /* rpl */
            invokestatic org.jruby.RubyArray.aryToAry:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 5 /* rplArr */
        start local 5 // org.jruby.RubyArray rplArr
        12: .line 992
            aload 5 /* rplArr */
            getfield org.jruby.RubyArray.realLength:I
            istore 6 /* rlen */
        start local 6 // int rlen
        13: .line 995
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtime */
            iload 2 /* beg */
            iload 3 /* len */
            aload 5 /* rplArr */
            iload 6 /* rlen */
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/RubyArray;I)V
        14: .line 996
            return
        end local 6 // int rlen
        end local 5 // org.jruby.RubyArray rplArr
        end local 4 // org.jruby.runtime.builtin.IRubyObject rpl
        end local 3 // int len
        end local 2 // int beg
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/RubyArray<TT;>;
            0   15     1  runtime  Lorg/jruby/Ruby;
            0   15     2      beg  I
            0   15     3      len  I
            0   15     4      rpl  Lorg/jruby/runtime/builtin/IRubyObject;
            5    7     5   rplArr  Lorg/jruby/RubyArray;
            9   11     5   rplArr  Lorg/jruby/RubyArray;
           12   15     5   rplArr  Lorg/jruby/RubyArray;
            6    7     6     rlen  I
           10   11     6     rlen  I
           13   15     6     rlen  I
    MethodParameters:
         Name  Flags
      runtime  final
      beg      
      len      
      rpl      

  private void splice(org.jruby.Ruby, int, int, org.jruby.RubyArray, int);
    descriptor: (Lorg/jruby/Ruby;IILorg/jruby/RubyArray;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int beg
        start local 3 // int len
        start local 4 // org.jruby.RubyArray rplArr
        start local 5 // int rlen
         0: .line 1002
            iload 3 /* len */
            ifge 1
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "negative length ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* len */
            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;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 1003
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            ifge 2
            iload 2 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            dup
            istore 2 /* beg */
            ifge 2
            aload 1 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            isub
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " out of array"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1005
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         3: .line 1006
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         4: .line 1008
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 6 /* valuesLength */
        start local 6 // int valuesLength
         5: .line 1009
            iload 2 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 14
         6: .line 1010
            iload 2 /* beg */
            iload 5 /* rlen */
            iadd
            istore 3 /* len */
         7: .line 1011
            iload 3 /* len */
            iload 6 /* valuesLength */
            if_icmplt 8
            aload 0 /* this */
            iload 3 /* len */
            iload 6 /* valuesLength */
            invokevirtual org.jruby.RubyArray.spliceRealloc:(II)V
         8: .line 1013
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* beg */
            iadd
            aload 1 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         9: .line 1014
            goto 12
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        10: astore 7 /* e */
        start local 7 // java.lang.ArrayIndexOutOfBoundsException e
        11: .line 1015
            aload 1 /* runtime */
            aload 7 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // java.lang.ArrayIndexOutOfBoundsException e
        12: .line 1017
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* len */
            putfield org.jruby.RubyArray.realLength:I
        13: .line 1018
            goto 20
        14: .line 1019
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* len */
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmple 15
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 2 /* beg */
            isub
            istore 3 /* len */
        15: .line 1020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 5 /* rlen */
            iadd
            iload 3 /* len */
            isub
            istore 7 /* alen */
        start local 7 // int alen
        16: .line 1021
            iload 7 /* alen */
            iload 6 /* valuesLength */
            if_icmplt 17
            aload 0 /* this */
            iload 7 /* alen */
            iload 6 /* valuesLength */
            invokevirtual org.jruby.RubyArray.spliceRealloc:(II)V
        17: .line 1023
      StackMap locals: int
      StackMap stack:
            iload 3 /* len */
            iload 5 /* rlen */
            if_icmpeq 20
        18: .line 1024
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* beg */
            iload 3 /* len */
            iadd
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* beg */
            iadd
            iload 5 /* rlen */
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 2 /* beg */
            iload 3 /* len */
            iadd
            isub
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
        19: .line 1025
            aload 0 /* this */
            iload 7 /* alen */
            putfield org.jruby.RubyArray.realLength:I
        end local 7 // int alen
        20: .line 1029
      StackMap locals:
      StackMap stack:
            iload 5 /* rlen */
            ifle 22
        21: .line 1030
            aload 4 /* rplArr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* beg */
            iadd
            iload 5 /* rlen */
            invokevirtual org.jruby.RubyArray.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;II)V
        22: .line 1032
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int valuesLength
        end local 5 // int rlen
        end local 4 // org.jruby.RubyArray rplArr
        end local 3 // int len
        end local 2 // int beg
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/jruby/RubyArray<TT;>;
            0   23     1       runtime  Lorg/jruby/Ruby;
            0   23     2           beg  I
            0   23     3           len  I
            0   23     4        rplArr  Lorg/jruby/RubyArray;
            0   23     5          rlen  I
            5   23     6  valuesLength  I
           11   12     7             e  Ljava/lang/ArrayIndexOutOfBoundsException;
           16   20     7          alen  I
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      runtime  final
      beg      
      len      
      rplArr   final
      rlen     final

  private final void spliceOne(long, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (JLorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // long beg
        start local 3 // org.jruby.runtime.builtin.IRubyObject rpl
         0: .line 1038
            lload 1 /* beg */
            lconst_0
            lcmp
            ifge 1
            lload 1 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            ladd
            dup2
            lstore 1 /* beg */
            lconst_0
            lcmp
            ifge 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lsub
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " out of array"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         2: .line 1041
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         3: .line 1043
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 4 /* valuesLength */
        start local 4 // int valuesLength
         4: .line 1044
            lload 1 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            iflt 10
         5: .line 1045
            lload 1 /* beg */
            l2i
            iconst_1
            iadd
            istore 5 /* len */
        start local 5 // int len
         6: .line 1046
            iload 5 /* len */
            iload 4 /* valuesLength */
            if_icmplt 7
            aload 0 /* this */
            iload 5 /* len */
            iload 4 /* valuesLength */
            invokevirtual org.jruby.RubyArray.spliceRealloc:(II)V
         7: .line 1047
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            lload 1 /* beg */
            l2i
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         8: .line 1048
            aload 0 /* this */
            iload 5 /* len */
            putfield org.jruby.RubyArray.realLength:I
        end local 5 // int len
         9: .line 1049
            goto 18
        10: .line 1050
      StackMap locals:
      StackMap stack:
            lload 1 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            ifle 11
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            lload 1 /* beg */
            l2i
            isub
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 5 /* len */
        start local 5 // int len
        13: .line 1051
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            iadd
            iload 5 /* len */
            isub
            istore 6 /* alen */
        start local 6 // int alen
        14: .line 1052
            iload 6 /* alen */
            iload 4 /* valuesLength */
            if_icmplt 15
            aload 0 /* this */
            iload 6 /* alen */
            iload 4 /* valuesLength */
            invokevirtual org.jruby.RubyArray.spliceRealloc:(II)V
        15: .line 1054
      StackMap locals: int int
      StackMap stack:
            iload 5 /* len */
            ifne 18
        16: .line 1055
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            lload 1 /* beg */
            l2i
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            lload 1 /* beg */
            l2i
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            lload 1 /* beg */
            l2i
            isub
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
        17: .line 1056
            aload 0 /* this */
            iload 6 /* alen */
            putfield org.jruby.RubyArray.realLength:I
        end local 6 // int alen
        end local 5 // int len
        18: .line 1060
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            lload 1 /* beg */
            l2i
            iadd
            aload 3 /* rpl */
            invokevirtual org.jruby.RubyArray.safeArraySet:([Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        19: .line 1061
            return
        end local 4 // int valuesLength
        end local 3 // org.jruby.runtime.builtin.IRubyObject rpl
        end local 1 // long beg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/jruby/RubyArray<TT;>;
            0   20     1           beg  J
            0   20     3           rpl  Lorg/jruby/runtime/builtin/IRubyObject;
            4   20     4  valuesLength  I
            6    9     5           len  I
           13   18     5           len  I
           14   18     6          alen  I
    MethodParameters:
      Name  Flags
      beg   
      rpl   

  private void spliceRealloc(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int length
        start local 2 // int valuesLength
         0: .line 1064
            iload 2 /* valuesLength */
            iload 2 /* valuesLength */
            iconst_1
            ishr
            iadd
            istore 3 /* tryLength */
        start local 3 // int tryLength
         1: .line 1065
            iload 1 /* length */
            iload 3 /* tryLength */
            if_icmple 2
            iload 1 /* length */
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iload 3 /* tryLength */
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* len */
        start local 4 // int len
         4: .line 1066
            iload 4 /* len */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* vals */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] vals
         5: .line 1067
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 5 /* vals */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1070
            iload 4 /* len */
            iload 1 /* length */
            if_icmple 7
            aload 5 /* vals */
            iload 1 /* length */
            iload 4 /* len */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         7: .line 1071
      StackMap locals: int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         8: .line 1072
            aload 0 /* this */
            aload 5 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         9: .line 1073
            return
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 4 // int len
        end local 3 // int tryLength
        end local 2 // int valuesLength
        end local 1 // int length
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/jruby/RubyArray<TT;>;
            0   10     1        length  I
            0   10     2  valuesLength  I
            1   10     3     tryLength  I
            4   10     4           len  I
            5   10     5          vals  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
              Name  Flags
      length        
      valuesLength  

  public org.jruby.runtime.builtin.IRubyObject insert();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1076
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            iconst_0
            iconst_1
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.runtime.builtin.IRubyObject insert(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1084
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1086
            aload 1 /* arg */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            pop2
         2: .line 1088
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            0    3     1   arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"insert"})
    MethodParameters:
      Name  Flags
      arg   

  public org.jruby.runtime.builtin.IRubyObject insert19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 1093
            aload 0 /* this */
            aload 1 /* arg */
            invokevirtual org.jruby.RubyArray.insert:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1   arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg   

  public org.jruby.runtime.builtin.IRubyObject insert(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 1098
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1100
            aload 0 /* this */
            aload 1 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            aload 2 /* arg2 */
            invokevirtual org.jruby.RubyArray.insert:(JLorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1101
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"insert"})
    MethodParameters:
      Name  Flags
      arg1  
      arg2  

  private void insert(long, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (JLorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // long pos
        start local 3 // org.jruby.runtime.builtin.IRubyObject val
         0: .line 1105
            lload 1 /* pos */
            ldc -1
            lcmp
            ifne 1
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lstore 1 /* pos */
            goto 6
         1: .line 1106
      StackMap locals:
      StackMap stack:
            lload 1 /* pos */
            lconst_0
            lcmp
            ifge 6
         2: .line 1107
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ineg
            iconst_1
            isub
            i2l
            lstore 4 /* minpos */
        start local 4 // long minpos
         3: .line 1108
            lload 1 /* pos */
            lload 4 /* minpos */
            lcmp
            ifge 5
         4: .line 1109
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " too small for array; minimum: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 4 /* minpos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 1111
      StackMap locals: long
      StackMap stack:
            lload 1 /* pos */
            lconst_1
            ladd
            lstore 1 /* pos */
        end local 4 // long minpos
         6: .line 1114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* pos */
            aload 3 /* val */
            invokevirtual org.jruby.RubyArray.spliceOne:(JLorg/jruby/runtime/builtin/IRubyObject;)V
         7: .line 1115
            return
        end local 3 // org.jruby.runtime.builtin.IRubyObject val
        end local 1 // long pos
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/jruby/RubyArray<TT;>;
            0    8     1     pos  J
            0    8     3     val  Lorg/jruby/runtime/builtin/IRubyObject;
            3    6     4  minpos  J
    MethodParameters:
      Name  Flags
      pos   
      val   

  public org.jruby.runtime.builtin.IRubyObject insert19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 1119
            aload 0 /* this */
            aload 1 /* arg1 */
            aload 2 /* arg2 */
            invokevirtual org.jruby.RubyArray.insert:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg1  
      arg2  

  public org.jruby.runtime.builtin.IRubyObject insert(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1124
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1126
            aload 1 /* args */
            arraylength
            iconst_1
            if_icmpne 2
            aload 0 /* this */
            areturn
         2: .line 1128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         3: .line 1130
            aload 1 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 2 /* pos */
        start local 2 // long pos
         4: .line 1132
            lload 2 /* pos */
            ldc -1
            lcmp
            ifne 5
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lstore 2 /* pos */
         5: .line 1133
      StackMap locals: long
      StackMap stack:
            lload 2 /* pos */
            lconst_0
            lcmp
            ifge 6
            lload 2 /* pos */
            lconst_1
            ladd
            lstore 2 /* pos */
         6: .line 1135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         7: .line 1137
            new org.jruby.RubyArray
            dup
            aload 4 /* runtime */
            iconst_0
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Z)V
            astore 5 /* inserted */
        start local 5 // org.jruby.RubyArray inserted
         8: .line 1138
            aload 5 /* inserted */
            aload 1 /* args */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         9: .line 1139
            aload 5 /* inserted */
            iconst_1
            putfield org.jruby.RubyArray.begin:I
        10: .line 1140
            aload 5 /* inserted */
            aload 1 /* args */
            arraylength
            iconst_1
            isub
            putfield org.jruby.RubyArray.realLength:I
        11: .line 1142
            aload 0 /* this */
            aload 4 /* runtime */
            aload 4 /* runtime */
            lload 2 /* pos */
            invokestatic org.jruby.RubyNumeric.checkInt:(Lorg/jruby/Ruby;J)I
            iconst_0
            aload 5 /* inserted */
            aload 5 /* inserted */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/RubyArray;I)V
        12: .line 1144
            aload 0 /* this */
            areturn
        end local 5 // org.jruby.RubyArray inserted
        end local 4 // org.jruby.Ruby runtime
        end local 2 // long pos
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/jruby/RubyArray<TT;>;
            0   13     1      args  [Lorg/jruby/runtime/builtin/IRubyObject;
            4   13     2       pos  J
            7   13     4   runtime  Lorg/jruby/Ruby;
            8   13     5  inserted  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"insert"}, required = 1, rest = true)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject insert19(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1149
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual org.jruby.RubyArray.insert:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.RubyArray transpose();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1158
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 1 /* alen */
        start local 1 // int alen
         1: .line 1159
            iload 1 /* alen */
            ifne 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            areturn
         2: .line 1161
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         3: .line 1163
            iconst_m1
            istore 3 /* elen */
        start local 3 // int elen
         4: .line 1164
            aconst_null
            astore 4 /* result */
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] result
         5: .line 1165
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 27
         7: .line 1166
      StackMap locals: org.jruby.RubyArray int org.jruby.Ruby int org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 6 /* tmp */
        start local 6 // org.jruby.RubyArray tmp
         8: .line 1167
            iload 3 /* elen */
            ifge 17
         9: .line 1168
            aload 6 /* tmp */
            getfield org.jruby.RubyArray.realLength:I
            istore 3 /* elen */
        10: .line 1169
            iload 3 /* elen */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* result */
        11: .line 1170
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        12: goto 15
        13: .line 1171
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 4 /* result */
            iload 7 /* j */
            aload 2 /* runtime */
            iload 1 /* alen */
            invokestatic org.jruby.RubyArray.newBlankArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            aastore
        14: .line 1170
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* j */
            iload 3 /* elen */
            if_icmplt 13
        end local 7 // int j
        16: .line 1173
            goto 21
      StackMap locals:
      StackMap stack:
        17: iload 3 /* elen */
            aload 6 /* tmp */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpeq 21
        18: .line 1174
            aload 2 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "element size differs ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* tmp */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        19: .line 1175
            ldc " should be "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* elen */
            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;
        20: .line 1174
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        21: .line 1177
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        22: goto 25
        23: .line 1178
      StackMap locals: int
      StackMap stack:
            aload 4 /* result */
            iload 7 /* j */
            aaload
            checkcast org.jruby.RubyArray
            iload 5 /* i */
            aload 6 /* tmp */
            iload 7 /* j */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
        24: .line 1177
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* j */
            iload 3 /* elen */
            if_icmplt 23
        end local 7 // int j
        end local 6 // org.jruby.RubyArray tmp
        26: .line 1165
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* i */
            iload 1 /* alen */
            if_icmplt 7
        end local 5 // int i
        28: .line 1181
            new org.jruby.RubyArray
            dup
            aload 2 /* runtime */
            aload 4 /* result */
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject[] result
        end local 3 // int elen
        end local 2 // org.jruby.Ruby runtime
        end local 1 // int alen
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lorg/jruby/RubyArray<TT;>;
            1   29     1     alen  I
            3   29     2  runtime  Lorg/jruby/Ruby;
            4   29     3     elen  I
            5   29     4   result  [Lorg/jruby/runtime/builtin/IRubyObject;
            6   28     5        i  I
            8   26     6      tmp  Lorg/jruby/RubyArray;
           12   16     7        j  I
           22   26     7        j  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"transpose"})

  public org.jruby.runtime.builtin.IRubyObject values_at(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1189
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1190
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 3 /* length */
        start local 3 // int length
         2: .line 1192
            aload 2 /* runtime */
            aload 1 /* args */
            arraylength
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 4 /* result */
        start local 4 // org.jruby.RubyArray result
         3: .line 1194
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 23
         5: .line 1195
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.RubyArray int
      StackMap stack:
            aload 1 /* args */
            iload 5 /* i */
            aaload
            astore 6 /* arg */
        start local 6 // org.jruby.runtime.builtin.IRubyObject arg
         6: .line 1196
            aload 6 /* arg */
            instanceof org.jruby.RubyFixnum
            ifeq 9
         7: .line 1197
            aload 4 /* result */
            aload 0 /* this */
            aload 6 /* arg */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            invokevirtual org.jruby.RubyArray.entry:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         8: .line 1198
            goto 22
         9: .line 1202
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* arg */
            instanceof org.jruby.RubyRange
            ifeq 21
        10: .line 1205
            aload 6 /* arg */
            checkcast org.jruby.RubyRange
            iload 3 /* length */
            iconst_1
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            dup
            astore 7 /* begLen */
        start local 7 // int[] begLen
        11: ifnonnull 13
        12: .line 1206
            goto 22
        13: .line 1209
      StackMap locals: int[]
      StackMap stack:
            aload 7 /* begLen */
            iconst_0
            iaload
            istore 8 /* beg */
        start local 8 // int beg
        14: .line 1210
            aload 7 /* begLen */
            iconst_1
            iaload
            istore 9 /* len */
        start local 9 // int len
        15: .line 1211
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        16: goto 19
        17: .line 1212
      StackMap locals: int int int
      StackMap stack:
            aload 4 /* result */
            aload 0 /* this */
            iload 10 /* j */
            iload 8 /* beg */
            iadd
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        18: .line 1211
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 10 /* j */
            iload 9 /* len */
            if_icmplt 17
        end local 10 // int j
        20: .line 1214
            goto 22
        end local 9 // int len
        end local 8 // int beg
        end local 7 // int[] begLen
        21: .line 1216
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int org.jruby.RubyArray int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 4 /* result */
            aload 0 /* this */
            aload 6 /* arg */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            invokevirtual org.jruby.RubyArray.entry:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        end local 6 // org.jruby.runtime.builtin.IRubyObject arg
        22: .line 1194
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 5 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 5
        end local 5 // int i
        24: .line 1219
            aload 4 /* result */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 4 /* result */
            getfield org.jruby.RubyArray.realLength:I
            aload 4 /* result */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 2 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        25: .line 1220
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.RubyArray result
        end local 3 // int length
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/jruby/RubyArray<TT;>;
            0   26     1     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1   26     2  runtime  Lorg/jruby/Ruby;
            2   26     3   length  I
            3   26     4   result  Lorg/jruby/RubyArray;
            4   24     5        i  I
            6   22     6      arg  Lorg/jruby/runtime/builtin/IRubyObject;
           11   21     7   begLen  [I
           14   21     8      beg  I
           15   21     9      len  I
           16   20    10        j  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"values_at"}, rest = true)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject subseq(long, long);
    descriptor: (JJ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // long beg
        start local 3 // long len
         0: .line 1227
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            lload 1 /* beg */
            lload 3 /* len */
            iconst_1
            invokevirtual org.jruby.RubyArray.subseq:(Lorg/jruby/RubyClass;JJZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // long len
        end local 1 // long beg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1   beg  J
            0    1     3   len  J
    MethodParameters:
      Name  Flags
      beg   
      len   

  public org.jruby.runtime.builtin.IRubyObject subseqLight(long, long);
    descriptor: (JJ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // long beg
        start local 3 // long len
         0: .line 1234
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            lload 1 /* beg */
            lload 3 /* len */
            iconst_1
            invokevirtual org.jruby.RubyArray.subseq:(Lorg/jruby/RubyClass;JJZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // long len
        end local 1 // long beg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1   beg  J
            0    1     3   len  J
    MethodParameters:
      Name  Flags
      beg   
      len   

  public org.jruby.runtime.builtin.IRubyObject subseq(org.jruby.RubyClass, long, long, boolean);
    descriptor: (Lorg/jruby/RubyClass;JJZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.RubyClass metaClass
        start local 2 // long beg
        start local 4 // long len
        start local 6 // boolean light
         0: .line 1238
            aload 1 /* metaClass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 7 /* runtime */
        start local 7 // org.jruby.Ruby runtime
         1: .line 1239
            lload 2 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            ifgt 2
            lload 2 /* beg */
            lconst_0
            lcmp
            iflt 2
            lload 4 /* len */
            lconst_0
            lcmp
            ifge 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aload 7 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1241
      StackMap locals:
      StackMap stack:
            lload 2 /* beg */
            lload 4 /* len */
            ladd
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            ifle 6
         4: .line 1242
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lload 2 /* beg */
            lsub
            lstore 4 /* len */
         5: .line 1243
            lload 4 /* len */
            lconst_0
            lcmp
            ifge 6
            lconst_0
            lstore 4 /* len */
         6: .line 1246
      StackMap locals:
      StackMap stack:
            lload 4 /* len */
            lconst_0
            lcmp
            ifne 10
         7: new org.jruby.RubyArray
            dup
            aload 7 /* runtime */
            aload 1 /* metaClass */
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 6 /* light */
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: org.jruby.RubyArray org.jruby.RubyClass long long int org.jruby.Ruby
      StackMap stack: new 7 new 7 org.jruby.Ruby org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject[]
         8: iconst_1
      StackMap locals: org.jruby.RubyArray org.jruby.RubyClass long long int org.jruby.Ruby
      StackMap stack: new 7 new 7 org.jruby.Ruby org.jruby.RubyClass org.jruby.runtime.builtin.IRubyObject[] int
         9: invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;Z)V
            areturn
        10: .line 1247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            lload 2 /* beg */
            l2i
            iadd
            lload 4 /* len */
            l2i
        11: new org.jruby.RubyArray
            dup
            aload 7 /* runtime */
            aload 1 /* metaClass */
            iload 6 /* light */
            ifeq 12
            iconst_0
            goto 13
      StackMap locals: org.jruby.RubyArray org.jruby.RubyClass long long int org.jruby.Ruby
      StackMap stack: org.jruby.RubyArray int int new 11 new 11 org.jruby.Ruby org.jruby.RubyClass
        12: iconst_1
      StackMap locals: org.jruby.RubyArray org.jruby.RubyClass long long int org.jruby.Ruby
      StackMap stack: org.jruby.RubyArray int int new 11 new 11 org.jruby.Ruby org.jruby.RubyClass int
        13: invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;Z)V
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyArray;)Lorg/jruby/RubyArray;
            areturn
        end local 7 // org.jruby.Ruby runtime
        end local 6 // boolean light
        end local 4 // long len
        end local 2 // long beg
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/jruby/RubyArray<TT;>;
            0   14     1  metaClass  Lorg/jruby/RubyClass;
            0   14     2        beg  J
            0   14     4        len  J
            0   14     6      light  Z
            1   14     7    runtime  Lorg/jruby/Ruby;
    MethodParameters:
           Name  Flags
      metaClass  
      beg        
      len        
      light      

  public org.jruby.RubyFixnum length();
    descriptor: ()Lorg/jruby/RubyFixnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1255
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"length"}, alias = {"size"})

  protected org.jruby.RubyEnumerator$SizeFn enumLengthFn();
    descriptor: ()Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1259
            aload 0 /* this */
            astore 1 /* self */
        start local 1 // org.jruby.RubyArray self
         1: .line 1260
            new org.jruby.RubyArray$2
            dup
            aload 0 /* this */
            aload 1 /* self */
            invokespecial org.jruby.RubyArray$2.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/RubyArray;)V
            areturn
        end local 1 // org.jruby.RubyArray self
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;
            1    2     1  self  Lorg/jruby/RubyArray;

  public org.jruby.RubyArray append(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 1273
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1274
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         2: .line 1275
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 2 /* valuesLength */
        start local 2 // int valuesLength
         3: .line 1276
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 2 /* valuesLength */
            if_icmpne 12
         4: .line 1277
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ldc 2147483647
            if_icmpne 5
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            ldc "index 2147483647 too big"
            invokevirtual org.jruby.Ruby.newIndexError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         5: .line 1279
      StackMap locals: int
      StackMap stack:
            iload 2 /* valuesLength */
            iload 2 /* valuesLength */
            iconst_1
            ishr
            iadd
            i2l
            lstore 3 /* newLength */
        start local 3 // long newLength
         6: .line 1280
            lload 3 /* newLength */
            ldc 2147483647
            lcmp
            ifle 9
         7: .line 1281
            ldc 2147483647
            lstore 3 /* newLength */
         8: .line 1282
            goto 11
      StackMap locals: long
      StackMap stack:
         9: lload 3 /* newLength */
            ldc 16
            lcmp
            ifge 11
        10: .line 1283
            ldc 16
            lstore 3 /* newLength */
        11: .line 1286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 3 /* newLength */
            l2i
            iload 2 /* valuesLength */
            invokevirtual org.jruby.RubyArray.realloc:(II)V
        end local 3 // long newLength
        12: .line 1289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.RubyArray.realLength:I
            iadd
            aload 1 /* item */
            invokevirtual org.jruby.RubyArray.safeArraySet:([Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        13: .line 1291
            aload 0 /* this */
            areturn
        end local 2 // int valuesLength
        end local 1 // org.jruby.runtime.builtin.IRubyObject item
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/jruby/RubyArray<TT;>;
            0   14     1          item  Lorg/jruby/runtime/builtin/IRubyObject;
            3   14     2  valuesLength  I
            6   12     3     newLength  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<<"}, required = 1)
    MethodParameters:
      Name  Flags
      item  

  public org.jruby.RubyArray push_m(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] items
         0: .line 1299
            aload 0 /* this */
            aload 1 /* items */
            invokevirtual org.jruby.RubyArray.push:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] items
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  items  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      items  

  public org.jruby.RubyArray push(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 1304
            aload 0 /* this */
            aload 1 /* item */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         1: .line 1306
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject item
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  item  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"push"}, alias = {"append"}, required = 1)
    MethodParameters:
      Name  Flags
      item  

  public org.jruby.RubyArray push(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] items
         0: .line 1311
            aload 1 /* items */
            arraylength
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1312
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1313
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* items */
            iload 2 /* i */
            aaload
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         4: .line 1312
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* items */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 1315
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] items
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  items  [Lorg/jruby/runtime/builtin/IRubyObject;
            2    6     2      i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"push"}, alias = {"append"}, rest = true)
    MethodParameters:
       Name  Flags
      items  

  public org.jruby.RubyArray push_m19(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] items
         0: .line 1320
            aload 0 /* this */
            aload 1 /* items */
            invokevirtual org.jruby.RubyArray.push:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] items
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  items  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      items  

  public org.jruby.runtime.builtin.IRubyObject pop(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1328
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1329
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         2: .line 1331
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifeq 5
         4: .line 1334
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            dup_x1
            putfield org.jruby.RubyArray.realLength:I
            iadd
            invokestatic org.jruby.RubyArray.safeArrayRef:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 1336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            dup_x1
            putfield org.jruby.RubyArray.realLength:I
            iadd
            istore 2 /* index */
        start local 2 // int index
         6: .line 1337
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 2 /* index */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.safeArrayRefSet:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // int index
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            6    7     2    index  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject pop(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
         0: .line 1343
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1344
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         2: .line 1345
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* num */
            iconst_1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeSharedFirst:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 3 /* result */
        start local 3 // org.jruby.RubyArray result
         3: .line 1346
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            aload 3 /* result */
            getfield org.jruby.RubyArray.realLength:I
            isub
            putfield org.jruby.RubyArray.realLength:I
         4: .line 1347
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            3    5     3   result  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      num      

  public org.jruby.runtime.builtin.IRubyObject shift(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1355
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1356
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         2: .line 1358
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1360
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] int
         4: iconst_1
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] int int
         5: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.safeArrayRefCondSet:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;IZLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* obj */
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         6: .line 1361
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.begin:I
            iconst_1
            iadd
            putfield org.jruby.RubyArray.begin:I
         7: .line 1362
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            putfield org.jruby.RubyArray.realLength:I
         8: .line 1363
            aload 2 /* obj */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            6    9     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"shift"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject shift(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
         0: .line 1369
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1370
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         2: .line 1372
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* num */
            iconst_0
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeSharedFirst:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;ZLorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 3 /* result */
        start local 3 // org.jruby.RubyArray result
         3: .line 1374
            aload 3 /* result */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* n */
        start local 4 // int n
         4: .line 1375
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.begin:I
            iload 4 /* n */
            iadd
            putfield org.jruby.RubyArray.begin:I
         5: .line 1376
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iload 4 /* n */
            isub
            putfield org.jruby.RubyArray.realLength:I
         6: .line 1377
            aload 3 /* result */
            areturn
        end local 4 // int n
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            3    7     3   result  Lorg/jruby/RubyArray;
            4    7     4        n  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"shift"})
    MethodParameters:
         Name  Flags
      context  
      num      

  public org.jruby.runtime.builtin.IRubyObject unshift();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1382
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1383
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"unshift"}, alias = {"prepend"})

  public org.jruby.runtime.builtin.IRubyObject unshift19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1388
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unshift:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.runtime.builtin.IRubyObject unshift(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 1396
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1398
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            ifeq 2
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifeq 16
         2: .line 1399
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         3: .line 1400
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 2 /* valuesLength */
        start local 2 // int valuesLength
         4: .line 1401
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 2 /* valuesLength */
            if_icmpne 14
         5: .line 1402
            iload 2 /* valuesLength */
            iconst_1
            ishr
            istore 3 /* newLength */
        start local 3 // int newLength
         6: .line 1403
            iload 3 /* newLength */
            bipush 16
            if_icmpge 7
            bipush 16
            istore 3 /* newLength */
         7: .line 1405
      StackMap locals: int int
      StackMap stack:
            iload 3 /* newLength */
            iload 2 /* valuesLength */
            iadd
            istore 3 /* newLength */
         8: .line 1406
            iload 3 /* newLength */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* vals */
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] vals
         9: .line 1407
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 4 /* vals */
            iconst_1
            iload 2 /* valuesLength */
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
        10: .line 1408
            aload 4 /* vals */
            iload 2 /* valuesLength */
            iconst_1
            iadd
            iload 3 /* newLength */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        11: .line 1409
            aload 0 /* this */
            aload 4 /* vals */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
        12: .line 1410
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
        end local 4 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 3 // int newLength
        13: .line 1411
            goto 18
        14: .line 1412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
        end local 2 // int valuesLength
        15: .line 1414
            goto 18
        16: .line 1415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
        17: .line 1416
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.begin:I
            iconst_1
            isub
            putfield org.jruby.RubyArray.begin:I
        18: .line 1418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            iadd
            putfield org.jruby.RubyArray.realLength:I
        19: .line 1419
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 1 /* item */
            aastore
        20: .line 1420
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject item
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/jruby/RubyArray<TT;>;
            0   21     1          item  Lorg/jruby/runtime/builtin/IRubyObject;
            4   15     2  valuesLength  I
            6   13     3     newLength  I
            9   13     4          vals  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"unshift"}, alias = {"prepend"})
    MethodParameters:
      Name  Flags
      item  

  public org.jruby.runtime.builtin.IRubyObject unshift19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 1425
            aload 0 /* this */
            aload 1 /* item */
            invokevirtual org.jruby.RubyArray.unshift:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject item
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  item  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      item  

  public org.jruby.runtime.builtin.IRubyObject unshift(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] items
         0: .line 1430
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1432
            aload 1 /* items */
            arraylength
            ifne 4
         2: .line 1433
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         3: .line 1434
            aload 0 /* this */
            areturn
         4: .line 1437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 2 /* len */
        start local 2 // int len
         5: .line 1438
            aload 0 /* this */
            iload 2 /* len */
            i2l
            aload 1 /* items */
            arraylength
            i2l
            ladd
            lconst_1
            lsub
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 1441
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 1 /* items */
            arraylength
            iadd
            iload 2 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 1442
            aload 1 /* items */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 1 /* items */
            arraylength
            invokestatic org.jruby.util.ArraySupport.copy:([Ljava/lang/Object;I[Ljava/lang/Object;II)V
         8: .line 1443
            goto 11
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         9: astore 3 /* e */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException e
        10: .line 1444
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException e
        11: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // int len
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] items
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/jruby/RubyArray<TT;>;
            0   12     1  items  [Lorg/jruby/runtime/builtin/IRubyObject;
            5   12     2    len  I
           10   11     3      e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"unshift"}, alias = {"prepend"}, rest = true)
    MethodParameters:
       Name  Flags
      items  

  public org.jruby.runtime.builtin.IRubyObject unshift19(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] items
         0: .line 1452
            aload 0 /* this */
            aload 1 /* items */
            invokevirtual org.jruby.RubyArray.unshift:([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] items
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  items  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      items  

  public org.jruby.RubyBoolean include_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 1460
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* item */
            invokevirtual org.jruby.RubyArray.includes:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject item
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     item  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"include?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      item     

  public org.jruby.RubyBoolean frozen_p(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1469
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.isFrozen:()Z
            ifne 1
            aload 0 /* this */
            getfield org.jruby.RubyArray.flags:I
            sipush 512
            iand
            ifne 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: org.jruby.Ruby
         1: iconst_1
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext
      StackMap stack: org.jruby.Ruby int
         2: invokevirtual org.jruby.Ruby.newBoolean:(Z)Lorg/jruby/RubyBoolean;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"frozen?"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject aref(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1477
            aload 1 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 1479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyArray.aref:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 1481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            aload 1 /* args */
            iconst_1
            aaload
            invokevirtual org.jruby.RubyArray.aref:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            arraylength
            iconst_1
            iconst_2
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         4: .line 1484
            aconst_null
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject aref(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 1492
            aload 1 /* arg0 */
            instanceof org.jruby.RubyFixnum
            ifeq 1
            aload 0 /* this */
            aload 1 /* arg0 */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            invokevirtual org.jruby.RubyArray.entry:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            aload 1 /* arg0 */
            invokevirtual org.jruby.RubyArray.arefCommon:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]", "slice"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject aref19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 1497
            aload 0 /* this */
            aload 1 /* arg0 */
            invokevirtual org.jruby.RubyArray.aref:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  

  private org.jruby.runtime.builtin.IRubyObject arefCommon(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 1501
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1503
            aload 1 /* arg0 */
            instanceof org.jruby.RubyRange
            ifeq 6
         2: .line 1504
            aload 1 /* arg0 */
            checkcast org.jruby.RubyRange
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            iconst_0
            invokevirtual org.jruby.RubyRange.begLen:(JI)[J
            astore 3 /* beglen */
        start local 3 // long[] beglen
         3: .line 1505
            aload 3 /* beglen */
            ifnonnull 4
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            goto 5
      StackMap locals: org.jruby.Ruby long[]
      StackMap stack:
         4: aload 0 /* this */
            aload 3 /* beglen */
            iconst_0
            laload
            aload 3 /* beglen */
            iconst_1
            laload
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         5: areturn
        end local 3 // long[] beglen
         6: .line 1507
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 3 /* context */
        start local 3 // org.jruby.runtime.ThreadContext context
         7: .line 1508
            aload 3 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            astore 4 /* sites */
        start local 4 // org.jruby.runtime.JavaSites$ArraySites sites
         8: .line 1510
            aload 3 /* context */
            aload 1 /* arg0 */
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.begin_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.end_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.exclude_end_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.RubyRange.isRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/JavaSites$CheckedSites;)Z
            ifeq 14
         9: .line 1511
            aload 3 /* context */
            aload 1 /* arg0 */
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.begin:Lorg/jruby/runtime/CallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.end:Lorg/jruby/runtime/CallSite;
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.exclude_end:Lorg/jruby/runtime/CallSite;
            invokestatic org.jruby.RubyRange.rangeFromRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)Lorg/jruby/RubyRange;
            astore 5 /* range */
        start local 5 // org.jruby.RubyRange range
        10: .line 1513
            aload 5 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            iconst_0
            invokevirtual org.jruby.RubyRange.begLen:(JI)[J
            astore 6 /* beglen */
        start local 6 // long[] beglen
        11: .line 1514
            aload 6 /* beglen */
            ifnonnull 12
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            goto 13
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.ThreadContext org.jruby.runtime.JavaSites$ArraySites org.jruby.RubyRange long[]
      StackMap stack:
        12: aload 0 /* this */
            aload 6 /* beglen */
            iconst_0
            laload
            aload 6 /* beglen */
            iconst_1
            laload
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        13: areturn
        end local 6 // long[] beglen
        end local 5 // org.jruby.RubyRange range
        end local 4 // org.jruby.runtime.JavaSites$ArraySites sites
        end local 3 // org.jruby.runtime.ThreadContext context
        14: .line 1517
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            invokevirtual org.jruby.RubyArray.entry:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/RubyArray<TT;>;
            0   15     1     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1   15     2  runtime  Lorg/jruby/Ruby;
            3    6     3   beglen  [J
            7   14     3  context  Lorg/jruby/runtime/ThreadContext;
            8   14     4    sites  Lorg/jruby/runtime/JavaSites$ArraySites;
           10   14     5    range  Lorg/jruby/RubyRange;
           11   14     6   beglen  [J
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject aref(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1522
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.arefCommon:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]", "slice"})
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject aref19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1527
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.aref:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  private org.jruby.runtime.builtin.IRubyObject arefCommon(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1531
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 3 /* beg */
        start local 3 // long beg
         1: .line 1532
            lload 3 /* beg */
            lconst_0
            lcmp
            ifge 2
            lload 3 /* beg */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            ladd
            lstore 3 /* beg */
         2: .line 1533
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 3 /* beg */
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // long beg
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3   beg  J
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject aset(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1541
            aload 1 /* args */
            arraylength
            tableswitch { // 2 - 3
                    2: 1
                    3: 2
              default: 3
          }
         1: .line 1543
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            aload 1 /* args */
            iconst_1
            aaload
            invokevirtual org.jruby.RubyArray.aset:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 1545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            aload 1 /* args */
            iconst_1
            aaload
            aload 1 /* args */
            iconst_2
            aaload
            invokevirtual org.jruby.RubyArray.aset:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1547
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong number of arguments ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* args */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " for 2)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject aset(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1553
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1554
            aload 1 /* arg0 */
            instanceof org.jruby.RubyFixnum
            ifeq 4
         2: .line 1555
            aload 0 /* this */
            aload 1 /* arg0 */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 1556
            goto 11
      StackMap locals:
      StackMap stack:
         4: aload 1 /* arg0 */
            instanceof org.jruby.RubyRange
            ifeq 10
         5: .line 1557
            aload 1 /* arg0 */
            checkcast org.jruby.RubyRange
            astore 3 /* range */
        start local 3 // org.jruby.RubyRange range
         6: .line 1558
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         7: .line 1559
            aload 4 /* runtime */
            aload 3 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokevirtual org.jruby.RubyRange.begLen0:(J)J
            invokestatic org.jruby.RubyNumeric.checkInt:(Lorg/jruby/Ruby;J)I
            istore 5 /* beg */
        start local 5 // int beg
         8: .line 1560
            aload 0 /* this */
            aload 4 /* runtime */
            iload 5 /* beg */
            aload 4 /* runtime */
            aload 3 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            iload 5 /* beg */
            invokevirtual org.jruby.RubyRange.begLen1:(JI)J
            invokestatic org.jruby.RubyNumeric.checkInt:(Lorg/jruby/Ruby;J)I
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/runtime/builtin/IRubyObject;)V
        end local 5 // int beg
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.RubyRange range
         9: .line 1561
            goto 11
        10: .line 1562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.asetFallback:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
        11: .line 1564
      StackMap locals:
      StackMap stack:
            aload 2 /* arg1 */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/jruby/RubyArray<TT;>;
            0   12     1     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            6    9     3    range  Lorg/jruby/RubyRange;
            7    9     4  runtime  Lorg/jruby/Ruby;
            8    9     5      beg  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]="})
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  private void asetFallback(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1568
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1569
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 4 /* context */
        start local 4 // org.jruby.runtime.ThreadContext context
         2: .line 1570
            aload 4 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            astore 5 /* sites */
        start local 5 // org.jruby.runtime.JavaSites$ArraySites sites
         3: .line 1572
            aload 4 /* context */
            aload 1 /* arg0 */
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.begin_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.end_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.exclude_end_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            invokestatic org.jruby.RubyRange.isRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/JavaSites$CheckedSites;Lorg/jruby/runtime/JavaSites$CheckedSites;)Z
            ifeq 8
         4: .line 1573
            aload 4 /* context */
            aload 1 /* arg0 */
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.begin:Lorg/jruby/runtime/CallSite;
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.end:Lorg/jruby/runtime/CallSite;
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.exclude_end:Lorg/jruby/runtime/CallSite;
            invokestatic org.jruby.RubyRange.rangeFromRangeLike:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)Lorg/jruby/RubyRange;
            astore 6 /* range */
        start local 6 // org.jruby.RubyRange range
         5: .line 1575
            aload 3 /* runtime */
            aload 6 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokevirtual org.jruby.RubyRange.begLen0:(J)J
            invokestatic org.jruby.RubyNumeric.checkInt:(Lorg/jruby/Ruby;J)I
            istore 7 /* beg */
        start local 7 // int beg
         6: .line 1576
            aload 0 /* this */
            aload 3 /* runtime */
            iload 7 /* beg */
            aload 3 /* runtime */
            aload 6 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            iload 7 /* beg */
            invokevirtual org.jruby.RubyRange.begLen1:(JI)J
            invokestatic org.jruby.RubyNumeric.checkInt:(Lorg/jruby/Ruby;J)I
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/runtime/builtin/IRubyObject;)V
        end local 7 // int beg
        end local 6 // org.jruby.RubyRange range
         7: .line 1577
            goto 9
         8: .line 1578
      StackMap locals: org.jruby.Ruby org.jruby.runtime.ThreadContext org.jruby.runtime.JavaSites$ArraySites
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         9: .line 1580
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.jruby.runtime.JavaSites$ArraySites sites
        end local 4 // org.jruby.runtime.ThreadContext context
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyArray<TT;>;
            0   10     1     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0   10     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            1   10     3  runtime  Lorg/jruby/Ruby;
            2   10     4  context  Lorg/jruby/runtime/ThreadContext;
            3   10     5    sites  Lorg/jruby/runtime/JavaSites$ArraySites;
            5    7     6    range  Lorg/jruby/RubyRange;
            6    7     7      beg  I
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject aset19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 1584
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.aset:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject aset(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 1592
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1593
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 3 /* arg2 */
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/runtime/builtin/IRubyObject;)V
         2: .line 1594
            aload 3 /* arg2 */
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3  arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"[]="})
    MethodParameters:
      Name  Flags
      arg0  
      arg1  
      arg2  

  public org.jruby.runtime.builtin.IRubyObject aset19(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
         0: .line 1599
            aload 0 /* this */
            aload 1 /* arg0 */
            aload 2 /* arg1 */
            aload 3 /* arg2 */
            invokevirtual org.jruby.RubyArray.aset:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3  arg2  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      arg0  
      arg1  
      arg2  

  public org.jruby.runtime.builtin.IRubyObject at(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject pos
         0: .line 1607
            aload 0 /* this */
            aload 1 /* pos */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            invokevirtual org.jruby.RubyArray.entry:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject pos
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1   pos  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"at"}, required = 1)
    MethodParameters:
      Name  Flags
      pos   

  public org.jruby.RubyArray concat(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 1615
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1617
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            invokevirtual org.jruby.RubyArray.concat:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;)V
         2: .line 1618
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"concat"})
    MethodParameters:
         Name  Flags
      context  
      obj      

  private void concat(org.jruby.Ruby, org.jruby.RubyArray);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyArray obj
         0: .line 1622
            aload 0 /* this */
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_0
            aload 2 /* obj */
            aload 2 /* obj */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/RubyArray;I)V
         1: .line 1623
            return
        end local 2 // org.jruby.RubyArray obj
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2      obj  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      runtime  final
      obj      

  public org.jruby.RubyArray aryAppend(org.jruby.RubyArray);
    descriptor: (Lorg/jruby/RubyArray;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.RubyArray y
         0: .line 1627
            aload 1 /* y */
            getfield org.jruby.RubyArray.realLength:I
            ifle 1
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_0
            aload 1 /* y */
            aload 1 /* y */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/RubyArray;I)V
         1: .line 1629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.RubyArray y
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;
            0    2     1     y  Lorg/jruby/RubyArray;
    MethodParameters:
      Name  Flags
      y     

  public org.jruby.RubyArray concat(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] objs
         0: .line 1637
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 1639
            aload 2 /* objs */
            arraylength
            ifle 10
         2: .line 1640
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         3: .line 1641
            aload 3 /* runtime */
            aload 2 /* objs */
            arraylength
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 4 /* tmp */
        start local 4 // org.jruby.RubyArray tmp
         4: .line 1643
            aload 2 /* objs */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 8
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby org.jruby.RubyArray top int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* obj */
        start local 5 // org.jruby.runtime.builtin.IRubyObject obj
         6: .line 1644
            aload 4 /* tmp */
            aload 3 /* runtime */
            aload 5 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            invokevirtual org.jruby.RubyArray.concat:(Lorg/jruby/Ruby;Lorg/jruby/RubyArray;)V
        end local 5 // org.jruby.runtime.builtin.IRubyObject obj
         7: .line 1643
            iinc 6 1
      StackMap locals:
      StackMap stack:
         8: iload 6
            iload 7
            if_icmplt 5
         9: .line 1647
            aload 0 /* this */
            aload 4 /* tmp */
            invokevirtual org.jruby.RubyArray.aryAppend:(Lorg/jruby/RubyArray;)Lorg/jruby/RubyArray;
            areturn
        end local 4 // org.jruby.RubyArray tmp
        end local 3 // org.jruby.Ruby runtime
        10: .line 1650
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] objs
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyArray<TT;>;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2     objs  [Lorg/jruby/runtime/builtin/IRubyObject;
            3   10     3  runtime  Lorg/jruby/Ruby;
            4   10     4      tmp  Lorg/jruby/RubyArray;
            6    7     5      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"concat"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      objs     

  public org.jruby.RubyArray concat(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 1654
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* obj */
            invokevirtual org.jruby.RubyArray.concat:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      obj   

  public org.jruby.RubyArray concat19(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 1659
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual org.jruby.RubyArray.concat:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      obj   

  protected org.jruby.runtime.builtin.IRubyObject inspectAry(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1666
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1667
            aload 2 /* runtime */
            bipush 10
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            astore 3 /* str */
        start local 3 // org.jruby.RubyString str
         2: .line 1668
            aload 3 /* str */
            bipush 91
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
         3: .line 1669
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.isTaint:()Z
            istore 4 /* tainted */
        start local 4 // boolean tainted
         4: .line 1671
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 16
         6: .line 1673
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.RubyString int int
      StackMap stack:
            aload 1 /* context */
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 5 /* i */
            iadd
            invokestatic org.jruby.RubyArray.safeArrayRef:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.inspect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 6 /* s */
        start local 6 // org.jruby.RubyString s
         7: .line 1674
            aload 6 /* s */
            invokevirtual org.jruby.RubyString.isTaint:()Z
            ifeq 8
            iconst_1
            istore 4 /* tainted */
         8: .line 1675
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            iload 5 /* i */
            ifle 13
         9: .line 1676
            aload 3 /* str */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 7 /* bytes */
        start local 7 // org.jruby.util.ByteList bytes
        10: .line 1677
            aload 7 /* bytes */
            iconst_2
            aload 6 /* s */
            invokevirtual org.jruby.RubyString.size:()I
            iadd
            iconst_1
            iadd
            invokevirtual org.jruby.util.ByteList.ensure:(I)V
        11: .line 1678
            aload 7 /* bytes */
            bipush 44
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            bipush 32
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        end local 7 // org.jruby.util.ByteList bytes
        12: .line 1679
            goto 14
        13: .line 1681
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            aload 6 /* s */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
        14: .line 1683
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            aload 6 /* s */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        end local 6 // org.jruby.RubyString s
        15: .line 1671
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 6
        end local 5 // int i
        17: .line 1685
            aload 3 /* str */
            bipush 93
            invokevirtual org.jruby.RubyString.cat:(B)Lorg/jruby/RubyString;
            pop
        18: .line 1687
            iload 4 /* tainted */
            ifeq 19
            aload 3 /* str */
            iconst_1
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
        19: .line 1689
      StackMap locals:
      StackMap stack:
            aload 3 /* str */
            areturn
        end local 4 // boolean tainted
        end local 3 // org.jruby.RubyString str
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/jruby/RubyArray<TT;>;
            0   20     1  context  Lorg/jruby/runtime/ThreadContext;
            1   20     2  runtime  Lorg/jruby/Ruby;
            2   20     3      str  Lorg/jruby/RubyString;
            4   20     4  tainted  Z
            5   17     5        i  I
            7   15     6        s  Lorg/jruby/RubyString;
           10   12     7    bytes  Lorg/jruby/util/ByteList;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyString inspect(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1697
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 1698
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 2
            aload 2 /* runtime */
            getstatic org.jruby.RubyArray.EMPTY_ARRAY_BYTELIST:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
         2: .line 1699
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.isInspecting:(Ljava/lang/Object;)Z
            ifeq 3
            aload 2 /* runtime */
            getstatic org.jruby.RubyArray.RECURSIVE_ARRAY_BYTELIST:Lorg/jruby/util/ByteList;
            invokestatic org.jruby.RubyString.newStringShared:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
         3: .line 1702
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.registerInspecting:(Ljava/lang/Object;)V
         4: .line 1703
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.inspectAry:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            astore 4
         5: .line 1705
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
         6: .line 1703
            aload 4
            areturn
         7: .line 1704
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         8: .line 1705
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
         9: .line 1706
            aload 3
            athrow
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyArray<TT;>;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            1   10     2  runtime  Lorg/jruby/Ruby;
      Exception table:
        from    to  target  type
           3     5       7  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"inspect"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject inspect();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1711
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            invokevirtual org.jruby.RubyArray.inspect:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyString;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.runtime.builtin.IRubyObject first(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1719
            aload 1 /* args */
            arraylength
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 1721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.first:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 1723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyArray.first:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            arraylength
            iconst_0
            iconst_1
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         4: .line 1726
            aconst_null
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject first();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1735
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 1
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 1736
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"first"})

  public org.jruby.runtime.builtin.IRubyObject first(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 1744
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 2 /* n */
        start local 2 // long n
         1: .line 1745
            lload 2 /* n */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            ifle 4
         2: .line 1746
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lstore 2 /* n */
         3: .line 1747
            goto 10
      StackMap locals: long
      StackMap stack:
         4: lload 2 /* n */
            lconst_0
            lcmp
            ifge 6
         5: .line 1748
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            ldc "negative array size (or size too big)"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 1749
      StackMap locals:
      StackMap stack:
            lload 2 /* n */
            lconst_1
            lcmp
            ifne 8
         7: .line 1750
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
         8: .line 1751
      StackMap locals:
      StackMap stack:
            lload 2 /* n */
            ldc 2
            lcmp
            ifne 10
         9: .line 1752
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        10: .line 1755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
        11: .line 1756
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            lload 2 /* n */
            l2i
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // long n
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/jruby/RubyArray<TT;>;
            0   12     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1   12     2     n  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"first"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject last(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 1764
            aload 1 /* args */
            arraylength
            tableswitch { // 0 - 1
                    0: 1
                    1: 2
              default: 3
          }
         1: .line 1766
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.last:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 1768
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyArray.last:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 1770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            arraylength
            iconst_0
            iconst_1
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         4: .line 1771
            aconst_null
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject last();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 1780
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 1
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 1781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"last"})

  public org.jruby.runtime.builtin.IRubyObject last(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 1789
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 2 /* n */
        start local 2 // long n
         1: .line 1790
            lload 2 /* n */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            ifle 4
         2: .line 1791
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lstore 2 /* n */
         3: .line 1792
            goto 10
      StackMap locals: long
      StackMap stack:
         4: lload 2 /* n */
            lconst_0
            lcmp
            ifge 6
         5: .line 1793
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            ldc "negative array size (or size too big)"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 1794
      StackMap locals:
      StackMap stack:
            lload 2 /* n */
            lconst_1
            lcmp
            ifne 8
         7: .line 1795
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
         8: .line 1796
      StackMap locals:
      StackMap stack:
            lload 2 /* n */
            ldc 2
            lcmp
            ifne 10
         9: .line 1797
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_2
            isub
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        10: .line 1800
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
        11: .line 1801
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            lload 2 /* n */
            l2i
            isub
            lload 2 /* n */
            l2i
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // long n
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/jruby/RubyArray<TT;>;
            0   12     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            1   12     2     n  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"last"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject each(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1809
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            ldc "each"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 1811
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 1814
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 3 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 1811
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmplt 3
        end local 3 // int i
         6: .line 1816
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2    block  Lorg/jruby/runtime/Block;
            2    6     3        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject eachSlice(org.jruby.runtime.ThreadContext, int, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int size
        start local 3 // org.jruby.runtime.Block block
         0: .line 1820
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 1821
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            astore 4 /* array */
        start local 4 // org.jruby.RubyClass array
         2: .line 1824
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 5 /* realLength */
        start local 5 // int realLength
         3: .line 1825
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 6 /* begin */
        start local 6 // int begin
         4: .line 1828
            aload 0 /* this */
            iload 6 /* begin */
            iload 2 /* size */
            aload 4 /* array */
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 7 /* window */
        start local 7 // org.jruby.RubyArray window
         5: .line 1831
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.getSignature:()Lorg/jruby/runtime/Signature;
            astore 8 /* signature */
        start local 8 // org.jruby.runtime.Signature signature
         6: .line 1832
            aload 8 /* signature */
            invokevirtual org.jruby.runtime.Signature.isFixed:()Z
            ifeq 7
            aload 8 /* signature */
            invokevirtual org.jruby.runtime.Signature.required:()I
            iconst_1
            if_icmpeq 7
            iconst_1
            goto 8
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext int org.jruby.runtime.Block org.jruby.RubyClass int int org.jruby.RubyArray org.jruby.runtime.Signature
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 9 /* specificArity */
        start local 9 // boolean specificArity
         9: .line 1834
            goto 16
        10: .line 1835
      StackMap locals: int
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 7 /* window */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        11: .line 1836
            iload 9 /* specificArity */
            ifeq 14
        12: .line 1837
            aload 7 /* window */
            iload 6 /* begin */
            iload 2 /* size */
            iadd
            dup
            istore 6 /* begin */
            putfield org.jruby.RubyArray.begin:I
        13: .line 1838
            goto 15
        14: .line 1839
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* begin */
            iload 2 /* size */
            iadd
            dup
            istore 6 /* begin */
            iload 2 /* size */
            aload 4 /* array */
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 7 /* window */
        15: .line 1834
      StackMap locals:
      StackMap stack:
            iload 5 /* realLength */
            iload 2 /* size */
            isub
            istore 5 /* realLength */
      StackMap locals:
      StackMap stack:
        16: iload 5 /* realLength */
            iload 2 /* size */
            if_icmpge 10
        17: .line 1844
            iload 5 /* realLength */
            ifle 20
        18: .line 1845
            aload 7 /* window */
            iload 5 /* realLength */
            putfield org.jruby.RubyArray.realLength:I
        19: .line 1846
            aload 3 /* block */
            aload 1 /* context */
            aload 7 /* window */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        20: .line 1848
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 9 // boolean specificArity
        end local 8 // org.jruby.runtime.Signature signature
        end local 7 // org.jruby.RubyArray window
        end local 6 // int begin
        end local 5 // int realLength
        end local 4 // org.jruby.RubyClass array
        end local 3 // org.jruby.runtime.Block block
        end local 2 // int size
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/jruby/RubyArray<TT;>;
            0   21     1        context  Lorg/jruby/runtime/ThreadContext;
            0   21     2           size  I
            0   21     3          block  Lorg/jruby/runtime/Block;
            2   21     4          array  Lorg/jruby/RubyClass;
            3   21     5     realLength  I
            4   21     6          begin  I
            5   21     7         window  Lorg/jruby/RubyArray;
            6   21     8      signature  Lorg/jruby/runtime/Signature;
            9   21     9  specificArity  Z
    MethodParameters:
         Name  Flags
      context  
      size     
      block    

  public org.jruby.runtime.builtin.IRubyObject each_slice(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 1853
            aload 2 /* arg */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* size */
        start local 4 // int size
         1: .line 1854
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         2: .line 1855
            iload 4 /* size */
            ifgt 3
            aload 5 /* runtime */
            ldc "invalid slice size"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 1856
      StackMap locals: int org.jruby.Ruby
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 4
            aload 0 /* this */
            aload 1 /* context */
            iload 4 /* size */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.eachSlice:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 1 /* context */
            aload 0 /* this */
            ldc "each_slice"
            aload 2 /* arg */
            aload 2 /* arg */
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         5: areturn
        end local 5 // org.jruby.Ruby runtime
        end local 4 // int size
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3    block  Lorg/jruby/runtime/Block;
            1    6     4     size  I
            2    6     5  runtime  Lorg/jruby/Ruby;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  public org.jruby.runtime.builtin.IRubyObject eachIndex(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1863
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1864
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 3
         2: .line 1865
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newLocalJumpErrorNoBlock:()Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 1867
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 1868
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 3 /* runtime */
            iload 4 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 1867
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 5
        end local 4 // int i
         8: .line 1870
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2    block  Lorg/jruby/runtime/Block;
            1    9     3  runtime  Lorg/jruby/Ruby;
            4    8     4        i  I
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject each_index(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1875
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.eachIndex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "each_index"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject reverseEach(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1882
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 3 /* len */
        start local 3 // int len
         1: .line 1884
            goto 4
         2: .line 1887
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 3 /* len */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 1888
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 3 /* len */
            if_icmpge 4
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 3 /* len */
         4: .line 1884
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            iinc 3 /* len */ -1
            ifgt 2
         5: .line 1891
            aload 0 /* this */
            areturn
        end local 3 // int len
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    block  Lorg/jruby/runtime/Block;
            1    6     3      len  I
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject reverse_each(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 1896
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.reverseEach:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "reverse_each"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject join(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject sep
         0: .line 1903
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* sep */
            invokevirtual org.jruby.RubyArray.join19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject sep
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      sep  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      sep      

  public org.jruby.runtime.builtin.IRubyObject join(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 1907
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.join19:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  protected org.jruby.RubyString joinStrings(org.jruby.RubyString, int, org.jruby.RubyString);
    descriptor: (Lorg/jruby/RubyString;ILorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.RubyString sep
        start local 2 // int max
        start local 3 // org.jruby.RubyString result
         0: .line 1913
            iload 2 /* max */
            ifle 3
            aload 0 /* this */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            dup
            astore 4 /* first */
        start local 4 // org.jruby.runtime.builtin.IRubyObject first
         1: instanceof org.jruby.runtime.encoding.EncodingCapable
            ifeq 3
         2: .line 1914
            aload 3 /* result */
            aload 4 /* first */
            checkcast org.jruby.runtime.encoding.EncodingCapable
            invokeinterface org.jruby.runtime.encoding.EncodingCapable.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
        end local 4 // org.jruby.runtime.builtin.IRubyObject first
         3: .line 1918
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 1919
      StackMap locals: org.jruby.RubyArray org.jruby.RubyString int org.jruby.RubyString top int
      StackMap stack:
            iload 5 /* i */
            ifle 6
            aload 1 /* sep */
            ifnull 6
            aload 3 /* result */
            aload 1 /* sep */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         6: .line 1920
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyString.append19:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            pop
         7: .line 1918
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            iload 2 /* max */
            if_icmplt 5
        end local 5 // int i
         9: .line 1922
            goto 12
      StackMap locals: org.jruby.RubyArray org.jruby.RubyString int org.jruby.RubyString
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        10: astore 5 /* e */
        start local 5 // java.lang.ArrayIndexOutOfBoundsException e
        11: .line 1923
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 5 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.ArrayIndexOutOfBoundsException e
        12: .line 1926
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyString result
        end local 2 // int max
        end local 1 // org.jruby.RubyString sep
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/jruby/RubyArray<TT;>;
            0   13     1     sep  Lorg/jruby/RubyString;
            0   13     2     max  I
            0   13     3  result  Lorg/jruby/RubyString;
            1    3     4   first  Lorg/jruby/runtime/builtin/IRubyObject;
            4    9     5       i  I
           11   12     5       e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           3     9      10  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
        Name  Flags
      sep     
      max     
      result  

  private org.jruby.RubyString joinAny(org.jruby.runtime.ThreadContext, org.jruby.RubyString, int, org.jruby.RubyString, boolean[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ILorg/jruby/RubyString;[Z)Lorg/jruby/RubyString;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=6
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyString sep
        start local 3 // int i
        start local 4 // org.jruby.RubyString result
        start local 5 // boolean[] first
         0: .line 1931
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 1
            iload 3 /* i */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "joining elements before beginning of array"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1933
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            astore 6 /* arrayClass */
        start local 6 // org.jruby.RubyClass arrayClass
         2: .line 1934
            aconst_null
            astore 7 /* to_ary_checked */
        start local 7 // org.jruby.runtime.JavaSites$CheckedSites to_ary_checked
         3: .line 1936
            goto 23
         4: .line 1937
      StackMap locals: org.jruby.RubyClass org.jruby.runtime.JavaSites$CheckedSites
      StackMap stack:
            iload 3 /* i */
            ifle 5
            aload 2 /* sep */
            ifnull 5
            aload 4 /* result */
            aload 2 /* sep */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         5: .line 1939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* val */
        start local 8 // org.jruby.runtime.builtin.IRubyObject val
         6: .line 1941
            aload 8 /* val */
            instanceof org.jruby.RubyString
            ifeq 9
         7: .line 1942
            aload 4 /* result */
            aload 8 /* val */
            checkcast org.jruby.RubyString
            aload 5 /* first */
            invokestatic org.jruby.RubyArray.strJoin:(Lorg/jruby/RubyString;Lorg/jruby/RubyString;[Z)V
         8: .line 1943
            goto 22
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         9: aload 8 /* val */
            instanceof org.jruby.RubyArray
            ifeq 12
        10: .line 1944
            aload 0 /* this */
            aload 1 /* context */
            aload 8 /* val */
            aload 2 /* sep */
            aload 4 /* result */
            aload 8 /* val */
            checkcast org.jruby.RubyArray
            aload 5 /* first */
            invokevirtual org.jruby.RubyArray.recursiveJoin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Lorg/jruby/RubyString;Lorg/jruby/RubyArray;[Z)V
        11: .line 1945
            goto 22
        12: .line 1946
      StackMap locals:
      StackMap stack:
            aload 8 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* tmp */
        start local 9 // org.jruby.runtime.builtin.IRubyObject tmp
        13: .line 1947
            aload 9 /* tmp */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 16
        14: .line 1948
            aload 4 /* result */
            aload 9 /* tmp */
            checkcast org.jruby.RubyString
            aload 5 /* first */
            invokestatic org.jruby.RubyArray.strJoin:(Lorg/jruby/RubyString;Lorg/jruby/RubyString;[Z)V
        15: .line 1949
            goto 22
        16: .line 1952
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* to_ary_checked */
            ifnonnull 17
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.to_ary_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            astore 7 /* to_ary_checked */
        17: .line 1954
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 8 /* val */
            aload 6 /* arrayClass */
            aload 7 /* to_ary_checked */
            invokestatic org.jruby.util.TypeConverter.convertToTypeWithCheck:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* tmp */
        18: .line 1955
            aload 9 /* tmp */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 21
        19: .line 1956
            aload 0 /* this */
            aload 1 /* context */
            aload 8 /* val */
            aload 2 /* sep */
            aload 4 /* result */
            aload 9 /* tmp */
            checkcast org.jruby.RubyArray
            aload 5 /* first */
            invokevirtual org.jruby.RubyArray.recursiveJoin:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Lorg/jruby/RubyString;Lorg/jruby/RubyArray;[Z)V
        20: .line 1957
            goto 22
        21: .line 1958
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            aload 1 /* context */
            aload 8 /* val */
            invokestatic org.jruby.RubyString.objAsString:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            aload 5 /* first */
            invokestatic org.jruby.RubyArray.strJoin:(Lorg/jruby/RubyString;Lorg/jruby/RubyString;[Z)V
        end local 9 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 8 // org.jruby.runtime.builtin.IRubyObject val
        22: .line 1936
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 3 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
        24: .line 1963
            aload 4 /* result */
            areturn
        end local 7 // org.jruby.runtime.JavaSites$CheckedSites to_ary_checked
        end local 6 // org.jruby.RubyClass arrayClass
        end local 5 // boolean[] first
        end local 4 // org.jruby.RubyString result
        end local 3 // int i
        end local 2 // org.jruby.RubyString sep
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            this  Lorg/jruby/RubyArray<TT;>;
            0   25     1         context  Lorg/jruby/runtime/ThreadContext;
            0   25     2             sep  Lorg/jruby/RubyString;
            0   25     3               i  I
            0   25     4          result  Lorg/jruby/RubyString;
            0   25     5           first  [Z
            2   25     6      arrayClass  Lorg/jruby/RubyClass;
            3   25     7  to_ary_checked  Lorg/jruby/runtime/JavaSites$CheckedSites;
            6   22     8             val  Lorg/jruby/runtime/builtin/IRubyObject;
           13   22     9             tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      sep      
      i        
      result   
      first    

  private static void strJoin(org.jruby.RubyString, org.jruby.RubyString, boolean[]);
    descriptor: (Lorg/jruby/RubyString;Lorg/jruby/RubyString;[Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyString result
        start local 1 // org.jruby.RubyString val
        start local 2 // boolean[] first
         0: .line 1968
            aload 0 /* result */
            aload 1 /* val */
            invokevirtual org.jruby.RubyString.cat19:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
         1: .line 1969
            aload 2 /* first */
            iconst_0
            baload
            ifeq 4
         2: .line 1970
            aload 0 /* result */
            aload 1 /* val */
            invokevirtual org.jruby.RubyString.getEncoding:()Lorg/jcodings/Encoding;
            invokevirtual org.jruby.RubyString.setEncoding:(Lorg/jcodings/Encoding;)V
         3: .line 1971
            aload 2 /* first */
            iconst_0
            iconst_0
            bastore
         4: .line 1973
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean[] first
        end local 1 // org.jruby.RubyString val
        end local 0 // org.jruby.RubyString result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  result  Lorg/jruby/RubyString;
            0    5     1     val  Lorg/jruby/RubyString;
            0    5     2   first  [Z
    MethodParameters:
        Name  Flags
      result  
      val     
      first   

  private void recursiveJoin(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyString, org.jruby.RubyString, org.jruby.RubyArray, boolean[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Lorg/jruby/RubyString;Lorg/jruby/RubyArray;[Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject outValue
        start local 3 // org.jruby.RubyString sep
        start local 4 // org.jruby.RubyString result
        start local 5 // org.jruby.RubyArray ary
        start local 6 // boolean[] first
         0: .line 1978
            aload 5 /* ary */
            aload 0 /* this */
            if_acmpne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "recursive array join"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 1980
      StackMap locals:
      StackMap stack:
            aload 6 /* first */
            iconst_0
            iconst_0
            bastore
         2: .line 1982
            aload 1 /* context */
            getstatic org.jruby.RubyArray.JOIN_RECURSIVE:Lorg/jruby/RubyArray$JoinRecursive;
            new org.jruby.RubyArray$JoinRecursive$State
            dup
            aload 5 /* ary */
            aload 2 /* outValue */
            aload 3 /* sep */
            aload 4 /* result */
            aload 6 /* first */
            invokespecial org.jruby.RubyArray$JoinRecursive$State.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyString;Lorg/jruby/RubyString;[Z)V
            aload 2 /* outValue */
            ldc "join"
            iconst_1
            invokevirtual org.jruby.runtime.ThreadContext.safeRecurse:(Lorg/jruby/runtime/ThreadContext$RecursiveFunctionEx;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 1983
            return
        end local 6 // boolean[] first
        end local 5 // org.jruby.RubyArray ary
        end local 4 // org.jruby.RubyString result
        end local 3 // org.jruby.RubyString sep
        end local 2 // org.jruby.runtime.builtin.IRubyObject outValue
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/RubyArray<TT;>;
            0    4     1   context  Lorg/jruby/runtime/ThreadContext;
            0    4     2  outValue  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3       sep  Lorg/jruby/RubyString;
            0    4     4    result  Lorg/jruby/RubyString;
            0    4     5       ary  Lorg/jruby/RubyArray;
            0    4     6     first  [Z
    MethodParameters:
          Name  Flags
      context   final
      outValue  final
      sep       final
      result    final
      ary       final
      first     final

  public org.jruby.runtime.builtin.IRubyObject join19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject sep
         0: .line 1990
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 1992
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 2
            aload 3 /* runtime */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokestatic org.jruby.RubyString.newEmptyString:(Lorg/jruby/Ruby;Lorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            areturn
         2: .line 1994
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* sep */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$,"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* sep */
         3: .line 1996
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 4 /* len */
        start local 4 // int len
         4: .line 1997
            aconst_null
            astore 5 /* sepString */
        start local 5 // org.jruby.RubyString sepString
         5: .line 1998
            aload 2 /* sep */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 8
         6: .line 1999
            aload 2 /* sep */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 5 /* sepString */
         7: .line 2000
            iload 4 /* len */
            aload 5 /* sepString */
            invokevirtual org.jruby.RubyString.size:()I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            imul
            iadd
            istore 4 /* len */
         8: .line 2003
      StackMap locals: int org.jruby.RubyString
      StackMap stack:
            aconst_null
            astore 6 /* first */
        start local 6 // boolean[] first
         9: .line 2004
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 25
        11: .line 2005
      StackMap locals: boolean[] int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* val */
        start local 8 // org.jruby.runtime.builtin.IRubyObject val
        12: .line 2006
            aload 8 /* val */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* tmp */
        start local 9 // org.jruby.runtime.builtin.IRubyObject tmp
        13: .line 2007
            aload 9 /* tmp */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 14
            aload 9 /* tmp */
            aload 8 /* val */
            if_acmpeq 23
        14: .line 2008
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* first */
            ifnonnull 15
            iconst_1
            newarray 4
            astore 6 /* first */
            goto 16
        15: .line 2009
      StackMap locals:
      StackMap stack:
            aload 6 /* first */
            iconst_0
            iconst_0
            bastore
        16: .line 2010
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 7 /* i */
            isub
            bipush 10
            imul
            iadd
            istore 4 /* len */
        17: .line 2011
            aload 3 /* runtime */
            iload 4 /* len */
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;ILorg/jcodings/Encoding;)Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            checkcast org.jruby.RubyString
            astore 10 /* result */
        start local 10 // org.jruby.RubyString result
        18: .line 2012
            aload 0 /* this */
            aload 5 /* sepString */
            iload 7 /* i */
            aload 10 /* result */
            invokevirtual org.jruby.RubyArray.joinStrings:(Lorg/jruby/RubyString;ILorg/jruby/RubyString;)Lorg/jruby/RubyString;
            pop
        19: .line 2013
            aload 6 /* first */
            iconst_0
            iload 7 /* i */
            ifne 20
            iconst_1
            goto 21
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int org.jruby.RubyString boolean[] int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
      StackMap stack: boolean[] int
        20: iconst_0
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int org.jruby.RubyString boolean[] int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
      StackMap stack: boolean[] int int
        21: bastore
        22: .line 2014
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* sepString */
            iload 7 /* i */
            aload 10 /* result */
            aload 6 /* first */
            invokevirtual org.jruby.RubyArray.joinAny:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;ILorg/jruby/RubyString;[Z)Lorg/jruby/RubyString;
            areturn
        end local 10 // org.jruby.RubyString result
        23: .line 2017
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            aload 9 /* tmp */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            istore 4 /* len */
        end local 9 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 8 // org.jruby.runtime.builtin.IRubyObject val
        24: .line 2004
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 11
        end local 7 // int i
        26: .line 2020
            aload 0 /* this */
            aload 5 /* sepString */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            aload 3 /* runtime */
            iload 4 /* len */
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyString;
            aload 0 /* this */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyArray.joinStrings:(Lorg/jruby/RubyString;ILorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 6 // boolean[] first
        end local 5 // org.jruby.RubyString sepString
        end local 4 // int len
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject sep
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lorg/jruby/RubyArray<TT;>;
            0   27     1    context  Lorg/jruby/runtime/ThreadContext;
            0   27     2        sep  Lorg/jruby/runtime/builtin/IRubyObject;
            1   27     3    runtime  Lorg/jruby/Ruby;
            4   27     4        len  I
            5   27     5  sepString  Lorg/jruby/RubyString;
            9   27     6      first  [Z
           10   26     7          i  I
           12   24     8        val  Lorg/jruby/runtime/builtin/IRubyObject;
           13   24     9        tmp  Lorg/jruby/runtime/builtin/IRubyObject;
           18   23    10     result  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"join"})
    MethodParameters:
         Name  Flags
      context  final
      sep      

  public org.jruby.runtime.builtin.IRubyObject join19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2025
            aload 0 /* this */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getGlobalVariables:()Lorg/jruby/internal/runtime/GlobalVariables;
            ldc "$,"
            invokevirtual org.jruby.internal.runtime.GlobalVariables.get:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.join19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"join"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray to_a();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2035
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            astore 1 /* metaClass */
        start local 1 // org.jruby.RubyClass metaClass
         1: .line 2036
            aload 1 /* metaClass */
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            astore 2 /* arrayClass */
        start local 2 // org.jruby.RubyClass arrayClass
         2: .line 2037
            aload 1 /* metaClass */
            aload 2 /* arrayClass */
            if_acmpeq 4
         3: .line 2038
            aload 0 /* this */
            aload 2 /* arrayClass */
            invokevirtual org.jruby.RubyArray.dupImpl:(Lorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            areturn
         4: .line 2040
      StackMap locals: org.jruby.RubyClass org.jruby.RubyClass
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.RubyClass arrayClass
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/jruby/RubyArray<TT;>;
            1    5     1   metaClass  Lorg/jruby/RubyClass;
            2    5     2  arrayClass  Lorg/jruby/RubyClass;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_a"})

  public org.jruby.runtime.builtin.IRubyObject to_ary();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2045
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_ary"})

  public org.jruby.runtime.builtin.IRubyObject to_h(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 2050
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 2051
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 3 /* realLength */
        start local 3 // int realLength
         2: .line 2053
            iload 3 /* realLength */
            bipush 10
            if_icmpgt 3
            iconst_1
            goto 4
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* useSmallHash */
        start local 4 // boolean useSmallHash
         5: .line 2055
            iload 4 /* useSmallHash */
            ifeq 6
            aload 2 /* runtime */
            invokestatic org.jruby.RubyHash.newSmallHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            goto 7
      StackMap locals: int
      StackMap stack:
         6: aload 2 /* runtime */
            invokestatic org.jruby.RubyHash.newHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
      StackMap locals:
      StackMap stack: org.jruby.RubyHash
         7: astore 5 /* hash */
        start local 5 // org.jruby.RubyHash hash
         8: .line 2057
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 21
        10: .line 2058
      StackMap locals: org.jruby.RubyHash int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkArrayType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* elt */
        start local 7 // org.jruby.runtime.builtin.IRubyObject elt
        11: .line 2059
            aload 7 /* elt */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 13
        12: .line 2060
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong element type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            iload 6 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getRealClass:()Lorg/jruby/RubyClass;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected array)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 2063
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* elt */
            checkcast org.jruby.RubyArray
            astore 8 /* ary */
        start local 8 // org.jruby.RubyArray ary
        14: .line 2064
            aload 8 /* ary */
            invokevirtual org.jruby.RubyArray.getLength:()I
            iconst_2
            if_icmpeq 16
        15: .line 2065
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "wrong array length at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " (expected 2, was "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* ary */
            invokevirtual org.jruby.RubyArray.getLength:()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;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        16: .line 2068
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            iload 4 /* useSmallHash */
            ifeq 19
        17: .line 2069
            aload 5 /* hash */
            aload 2 /* runtime */
            aload 8 /* ary */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 8 /* ary */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_1
            invokevirtual org.jruby.RubyHash.fastASetSmall:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
        18: .line 2070
            goto 20
        19: .line 2071
      StackMap locals:
      StackMap stack:
            aload 5 /* hash */
            aload 2 /* runtime */
            aload 8 /* ary */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 8 /* ary */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_1
            invokevirtual org.jruby.RubyHash.fastASet:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)V
        end local 8 // org.jruby.RubyArray ary
        end local 7 // org.jruby.runtime.builtin.IRubyObject elt
        20: .line 2057
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            iload 3 /* realLength */
            if_icmplt 10
        end local 6 // int i
        22: .line 2074
            aload 5 /* hash */
            areturn
        end local 5 // org.jruby.RubyHash hash
        end local 4 // boolean useSmallHash
        end local 3 // int realLength
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Lorg/jruby/RubyArray<TT;>;
            0   23     1       context  Lorg/jruby/runtime/ThreadContext;
            1   23     2       runtime  Lorg/jruby/Ruby;
            2   23     3    realLength  I
            5   23     4  useSmallHash  Z
            8   23     5          hash  Lorg/jruby/RubyHash;
            9   22     6             i  I
           11   20     7           elt  Lorg/jruby/runtime/builtin/IRubyObject;
           14   20     8           ary  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"to_h"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.RubyArray convertToArray();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2079
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.runtime.builtin.IRubyObject checkArrayType();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2084
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public org.jruby.runtime.builtin.IRubyObject op_equal(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2093
            aload 0 /* this */
            aload 2 /* obj */
            if_acmpne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 2095
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            instanceof org.jruby.RubyArray
            ifne 6
         2: .line 2096
            aload 2 /* obj */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         3: .line 2098
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.respond_to_to_ary:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 1 /* context */
            aload 2 /* obj */
            aload 2 /* obj */
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifne 5
         4: .line 2099
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         5: .line 2101
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 2 /* obj */
            aload 0 /* this */
            invokestatic org.jruby.runtime.Helpers.rbEqual:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
         6: .line 2103
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.op_equal:Lorg/jruby/runtime/CallSite;
            aload 0 /* this */
            aload 2 /* obj */
            invokestatic org.jruby.util.RecursiveComparator.compare:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"=="}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.RubyBoolean compare(org.jruby.runtime.ThreadContext, org.jruby.runtime.CallSite, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.CallSite site
        start local 3 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 2107
            aload 3 /* other */
            instanceof org.jruby.RubyArray
            ifne 3
         1: .line 2108
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.respond_to_to_ary:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 1 /* context */
            aload 3 /* other */
            aload 3 /* other */
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifne 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         2: .line 2110
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 3 /* other */
            aload 0 /* this */
            invokestatic org.jruby.runtime.Helpers.rbEqual:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyBoolean;
            areturn
         3: .line 2113
      StackMap locals:
      StackMap stack:
            aload 3 /* other */
            checkcast org.jruby.RubyArray
            astore 4 /* ary */
        start local 4 // org.jruby.RubyArray ary
         4: .line 2115
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            aload 4 /* ary */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpeq 5
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         5: .line 2117
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 12
         7: .line 2118
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* a */
        start local 6 // org.jruby.runtime.builtin.IRubyObject a
         8: .line 2119
            aload 4 /* ary */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* b */
        start local 7 // org.jruby.runtime.builtin.IRubyObject b
         9: .line 2121
            aload 6 /* a */
            aload 7 /* b */
            if_acmpne 10
            goto 11
        10: .line 2123
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* site */
            aload 1 /* context */
            aload 6 /* a */
            aload 6 /* a */
            aload 7 /* b */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 11
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject b
        end local 6 // org.jruby.runtime.builtin.IRubyObject a
        11: .line 2117
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 7
        end local 5 // int i
        13: .line 2126
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
        end local 4 // org.jruby.RubyArray ary
        end local 3 // org.jruby.runtime.builtin.IRubyObject other
        end local 2 // org.jruby.runtime.CallSite site
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyArray<TT;>;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            0   14     2     site  Lorg/jruby/runtime/CallSite;
            0   14     3    other  Lorg/jruby/runtime/builtin/IRubyObject;
            4   14     4      ary  Lorg/jruby/RubyArray;
            6   13     5        i  I
            8   11     6        a  Lorg/jruby/runtime/builtin/IRubyObject;
            9   11     7        b  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      site     
      other    

  public org.jruby.runtime.builtin.IRubyObject eql(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2134
            aload 2 /* obj */
            instanceof org.jruby.RubyArray
            ifne 2
         1: .line 2135
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         2: .line 2137
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.eql:Lorg/jruby/runtime/CallSite;
            aload 0 /* this */
            aload 2 /* obj */
            invokestatic org.jruby.util.RecursiveComparator.compare:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/Object;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"eql?"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.runtime.builtin.IRubyObject compact_bang();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2145
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 2146
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         2: .line 2148
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 1 /* p */
        start local 1 // int p
         3: .line 2149
            iload 1 /* p */
            istore 2 /* t */
        start local 2 // int t
         4: .line 2150
            iload 1 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            istore 3 /* end */
        start local 3 // int end
         5: .line 2153
            goto 10
         6: .line 2154
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 2 /* t */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 9
         7: .line 2155
            iinc 2 /* t */ 1
         8: .line 2156
            goto 10
         9: .line 2157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 1 /* p */
            iinc 1 /* p */ 1
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 2 /* t */
            iinc 2 /* t */ 1
            aaload
            aastore
        10: .line 2153
      StackMap locals:
      StackMap stack:
            iload 2 /* t */
            iload 3 /* end */
            if_icmplt 6
        11: .line 2160
            goto 14
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        12: astore 4 /* e */
        start local 4 // java.lang.ArrayIndexOutOfBoundsException e
        13: .line 2161
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 4 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.ArrayIndexOutOfBoundsException e
        14: .line 2164
      StackMap locals:
      StackMap stack:
            iload 1 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 1 /* p */
        15: .line 2165
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 1 /* p */
            if_icmpne 16
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        16: .line 2167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* p */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            invokevirtual org.jruby.RubyArray.realloc:(II)V
        17: .line 2168
            aload 0 /* this */
            iload 1 /* p */
            putfield org.jruby.RubyArray.realLength:I
        18: .line 2169
            aload 0 /* this */
            areturn
        end local 3 // int end
        end local 2 // int t
        end local 1 // int p
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/jruby/RubyArray<TT;>;
            3   19     1     p  I
            4   19     2     t  I
            5   19     3   end  I
           13   14     4     e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           5    11      12  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"compact!"})

  public org.jruby.runtime.builtin.IRubyObject compact();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2177
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            astore 1 /* ary */
        start local 1 // org.jruby.RubyArray ary
         1: .line 2178
            aload 1 /* ary */
            invokevirtual org.jruby.RubyArray.compact_bang:()Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2179
            aload 1 /* ary */
            areturn
        end local 1 // org.jruby.RubyArray ary
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            1    3     1   ary  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"compact"})

  public org.jruby.runtime.builtin.IRubyObject compact19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2184
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.compact:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public org.jruby.runtime.builtin.IRubyObject empty_p();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2192
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 1
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getTrue:()Lorg/jruby/RubyBoolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getFalse:()Lorg/jruby/RubyBoolean;
      StackMap locals:
      StackMap stack: org.jruby.RubyBoolean
         2: areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"empty?"})

  public org.jruby.runtime.builtin.IRubyObject rb_clear();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2200
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 2202
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifeq 5
         2: .line 2203
            aload 0 /* this */
            bipush 16
            invokevirtual org.jruby.RubyArray.alloc:(I)V
         3: .line 2204
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         4: .line 2205
            goto 13
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            bipush 32
            if_icmple 8
         6: .line 2206
            aload 0 /* this */
            bipush 32
            invokevirtual org.jruby.RubyArray.alloc:(I)V
         7: .line 2207
            goto 13
         8: .line 2209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         9: .line 2210
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        10: .line 2211
            goto 13
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        11: astore 1 /* e */
        start local 1 // java.lang.ArrayIndexOutOfBoundsException e
        12: .line 2212
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.ArrayIndexOutOfBoundsException e
        13: .line 2216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.realLength:I
        14: .line 2217
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/jruby/RubyArray<TT;>;
           12   13     1     e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           8    10      11  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"clear"})

  public org.jruby.runtime.builtin.IRubyObject fill(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2222
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 2223
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iconst_0
            iconst_1
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject fill(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 2228
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 6
         1: .line 2229
            aload 2 /* arg */
            instanceof org.jruby.RubyRange
            ifeq 4
         2: .line 2230
            aload 2 /* arg */
            checkcast org.jruby.RubyRange
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 4 /* beglen */
        start local 4 // int[] beglen
         3: .line 2231
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* beglen */
            iconst_0
            iaload
            aload 4 /* beglen */
            iconst_1
            iaload
            i2l
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int[] beglen
         4: .line 2234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyArray.fillBegin:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            dup
            istore 4 /* beg */
        start local 4 // int beg
         5: aload 0 /* this */
            iload 4 /* beg */
            i2l
            aconst_null
            invokevirtual org.jruby.RubyArray.fillLen:(JLorg/jruby/runtime/builtin/IRubyObject;)J
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int beg
         6: .line 2236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            aload 2 /* arg */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    7     3    block  Lorg/jruby/runtime/Block;
            3    4     4   beglen  [I
            5    6     4      beg  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  public org.jruby.runtime.builtin.IRubyObject fill(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 4 // org.jruby.runtime.Block block
         0: .line 2242
            aload 4 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 3
         1: .line 2244
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.fillBegin:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            dup
            istore 5 /* beg */
        start local 5 // int beg
         2: aload 0 /* this */
            iload 5 /* beg */
            i2l
            aload 3 /* arg2 */
            invokevirtual org.jruby.RubyArray.fillLen:(JLorg/jruby/runtime/builtin/IRubyObject;)J
            aload 4 /* block */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // int beg
         3: .line 2246
      StackMap locals:
      StackMap stack:
            aload 3 /* arg2 */
            instanceof org.jruby.RubyRange
            ifeq 6
         4: .line 2247
            aload 3 /* arg2 */
            checkcast org.jruby.RubyRange
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            invokevirtual org.jruby.RubyRange.begLenInt:(II)[I
            astore 5 /* beglen */
        start local 5 // int[] beglen
         5: .line 2248
            aload 0 /* this */
            aload 1 /* context */
            aload 5 /* beglen */
            iconst_0
            iaload
            aload 5 /* beglen */
            iconst_1
            iaload
            i2l
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // int[] beglen
         6: .line 2251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 3 /* arg2 */
            invokevirtual org.jruby.RubyArray.fillBegin:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            dup
            istore 5 /* beg */
        start local 5 // int beg
         7: aload 0 /* this */
            iload 5 /* beg */
            i2l
            aconst_null
            invokevirtual org.jruby.RubyArray.fillLen:(JLorg/jruby/runtime/builtin/IRubyObject;)J
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // int beg
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     4    block  Lorg/jruby/runtime/Block;
            2    3     5      beg  I
            5    6     5   beglen  [I
            7    8     5      beg  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg1     
      arg2     
      block    

  public org.jruby.runtime.builtin.IRubyObject fill(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        start local 4 // org.jruby.runtime.builtin.IRubyObject arg3
        start local 5 // org.jruby.runtime.Block block
         0: .line 2257
            aload 5 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
         1: .line 2258
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iconst_3
            iconst_2
            invokevirtual org.jruby.Ruby.newArgumentError:(II)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            aload 3 /* arg2 */
            invokevirtual org.jruby.RubyArray.fillBegin:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            dup
            istore 6 /* beg */
        start local 6 // int beg
         3: aload 0 /* this */
            iload 6 /* beg */
            i2l
            aload 4 /* arg3 */
            invokevirtual org.jruby.RubyArray.fillLen:(JLorg/jruby/runtime/builtin/IRubyObject;)J
            aload 2 /* arg1 */
            invokevirtual org.jruby.RubyArray.fillCommon:(Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // int beg
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.runtime.builtin.IRubyObject arg3
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg2
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     arg1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3     arg2  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     4     arg3  Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     5    block  Lorg/jruby/runtime/Block;
            3    4     6      beg  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      arg1     
      arg2     
      arg3     
      block    

  private int fillBegin(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 2266
            aload 1 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* arg */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* beg */
        start local 2 // int beg
         3: .line 2267
            iload 2 /* beg */
            ifge 6
         4: .line 2268
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 2 /* beg */
            iadd
            istore 2 /* beg */
         5: .line 2269
            iload 2 /* beg */
            ifge 6
            iconst_0
            istore 2 /* beg */
         6: .line 2271
      StackMap locals: int
      StackMap stack:
            iload 2 /* beg */
            ireturn
        end local 2 // int beg
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyArray<TT;>;
            0    7     1   arg  Lorg/jruby/runtime/builtin/IRubyObject;
            3    7     2   beg  I
    MethodParameters:
      Name  Flags
      arg   

  private long fillLen(long, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (JLorg/jruby/runtime/builtin/IRubyObject;)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // long beg
        start local 3 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 2275
            aload 3 /* arg */
            ifnull 1
            aload 3 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 2
         1: .line 2276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lload 1 /* beg */
            lsub
            lreturn
         2: .line 2278
      StackMap locals:
      StackMap stack:
            aload 3 /* arg */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lreturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // long beg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
            0    3     1   beg  J
            0    3     3   arg  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      beg   
      arg   

  protected org.jruby.runtime.builtin.IRubyObject fillCommon(org.jruby.runtime.ThreadContext, int, long, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int beg
        start local 3 // long len
        start local 5 // org.jruby.runtime.builtin.IRubyObject item
         0: .line 2289
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 2290
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         2: .line 2293
            lload 3 /* len */
            lconst_0
            lcmp
            ifgt 3
            aload 0 /* this */
            areturn
         3: .line 2295
      StackMap locals:
      StackMap stack:
            lload 3 /* len */
            ldc 2147483647
            iload 2 /* beg */
            isub
            i2l
            lcmp
            ifle 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "argument too big"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2297
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            i2l
            lload 3 /* len */
            ladd
            l2i
            istore 6 /* end */
        start local 6 // int end
         5: .line 2298
            iload 6 /* end */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmple 9
         6: .line 2299
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 7 /* valuesLength */
        start local 7 // int valuesLength
         7: .line 2300
            iload 6 /* end */
            iload 7 /* valuesLength */
            if_icmplt 8
            aload 0 /* this */
            iload 6 /* end */
            iload 7 /* valuesLength */
            invokevirtual org.jruby.RubyArray.realloc:(II)V
         8: .line 2301
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* end */
            putfield org.jruby.RubyArray.realLength:I
        end local 7 // int valuesLength
         9: .line 2304
      StackMap locals:
      StackMap stack:
            lload 3 /* len */
            lconst_0
            lcmp
            ifle 14
        10: .line 2306
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* beg */
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 6 /* end */
            iadd
            aload 5 /* item */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;IILjava/lang/Object;)V
        11: .line 2307
            goto 14
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        12: astore 7 /* ex */
        start local 7 // java.lang.ArrayIndexOutOfBoundsException ex
        13: .line 2308
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 7 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // java.lang.ArrayIndexOutOfBoundsException ex
        14: .line 2312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 6 // int end
        end local 5 // org.jruby.runtime.builtin.IRubyObject item
        end local 3 // long len
        end local 2 // int beg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/jruby/RubyArray<TT;>;
            0   15     1       context  Lorg/jruby/runtime/ThreadContext;
            0   15     2           beg  I
            0   15     3           len  J
            0   15     5          item  Lorg/jruby/runtime/builtin/IRubyObject;
            5   15     6           end  I
            7    9     7  valuesLength  I
           13   14     7            ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      context  
      beg      
      len      
      item     

  protected org.jruby.runtime.builtin.IRubyObject fillCommon(org.jruby.runtime.ThreadContext, int, long, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;IJLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int beg
        start local 3 // long len
        start local 5 // org.jruby.runtime.Block block
         0: .line 2316
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 2317
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         2: .line 2320
            lload 3 /* len */
            lconst_0
            lcmp
            ifgt 3
            aload 0 /* this */
            areturn
         3: .line 2322
      StackMap locals:
      StackMap stack:
            lload 3 /* len */
            ldc 2147483647
            iload 2 /* beg */
            isub
            i2l
            lcmp
            ifle 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "argument too big"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2324
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            i2l
            lload 3 /* len */
            ladd
            l2i
            istore 6 /* end */
        start local 6 // int end
         5: .line 2325
            iload 6 /* end */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmple 9
         6: .line 2326
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            istore 7 /* valuesLength */
        start local 7 // int valuesLength
         7: .line 2327
            iload 6 /* end */
            iload 7 /* valuesLength */
            if_icmplt 8
            aload 0 /* this */
            iload 6 /* end */
            iload 7 /* valuesLength */
            invokevirtual org.jruby.RubyArray.realloc:(II)V
         8: .line 2328
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* end */
            putfield org.jruby.RubyArray.realLength:I
        end local 7 // int valuesLength
         9: .line 2331
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 7 /* runtime */
        start local 7 // org.jruby.Ruby runtime
        10: .line 2332
            iload 2 /* beg */
            istore 8 /* i */
        start local 8 // int i
        11: goto 16
        12: .line 2333
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 5 /* block */
            aload 1 /* context */
            aload 7 /* runtime */
            iload 8 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* v */
        start local 9 // org.jruby.runtime.builtin.IRubyObject v
        13: .line 2334
            iload 8 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 14
            goto 17
        14: .line 2335
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 8 /* i */
            iadd
            aload 9 /* v */
            invokestatic org.jruby.RubyArray.safeArraySet:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 9 // org.jruby.runtime.builtin.IRubyObject v
        15: .line 2332
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            iload 6 /* end */
            if_icmplt 12
        end local 8 // int i
        17: .line 2337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 7 // org.jruby.Ruby runtime
        end local 6 // int end
        end local 5 // org.jruby.runtime.Block block
        end local 3 // long len
        end local 2 // int beg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   18     0          this  Lorg/jruby/RubyArray<TT;>;
            0   18     1       context  Lorg/jruby/runtime/ThreadContext;
            0   18     2           beg  I
            0   18     3           len  J
            0   18     5         block  Lorg/jruby/runtime/Block;
            5   18     6           end  I
            7    9     7  valuesLength  I
           10   18     7       runtime  Lorg/jruby/Ruby;
           11   17     8             i  I
           13   15     9             v  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      beg      
      len      
      block    

  public org.jruby.runtime.builtin.IRubyObject index(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2345
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2347
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 2348
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* obj */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 4
            aload 3 /* runtime */
            iload 4 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         4: .line 2347
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 4 // int i
         6: .line 2351
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3  runtime  Lorg/jruby/Ruby;
            2    6     4        i  I
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.runtime.builtin.IRubyObject index(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
        start local 3 // org.jruby.runtime.Block unused
         0: .line 2356
            aload 3 /* unused */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.BLOCK_UNUSED:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "given block not used"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         1: .line 2357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* obj */
            invokevirtual org.jruby.RubyArray.index:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block unused
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3   unused  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"index", "find_index"})
    MethodParameters:
         Name  Flags
      context  
      obj      
      unused   

  public org.jruby.runtime.builtin.IRubyObject index(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2362
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2363
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 3 /* runtime */
            aload 0 /* this */
            ldc "index"
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2365
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 2366
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 5
            aload 3 /* runtime */
            iload 4 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         5: .line 2365
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
        end local 4 // int i
         7: .line 2369
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2    block  Lorg/jruby/runtime/Block;
            1    8     3  runtime  Lorg/jruby/Ruby;
            3    7     4        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"index", "find_index"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject bsearch(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2374
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
         1: .line 2375
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            ldc "bsearch"
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.bsearch_index_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)I
            istore 3 /* rVal */
        start local 3 // int rVal
         3: .line 2379
            iload 3 /* rVal */
            iconst_m1
            if_icmpne 5
         4: .line 2380
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 2382
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* rVal */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // int rVal
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    block  Lorg/jruby/runtime/Block;
            3    6     3     rVal  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject bsearch_index(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2388
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
         1: .line 2389
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            ldc "bsearch_index"
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.bsearch_index_internal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)I
            istore 3 /* rVal */
        start local 3 // int rVal
         3: .line 2392
            iload 3 /* rVal */
            iconst_m1
            if_icmpne 5
         4: .line 2393
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 2395
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* rVal */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 3 // int rVal
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    block  Lorg/jruby/runtime/Block;
            3    6     3     rVal  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  private int bsearch_index_internal(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2400
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2402
            iconst_0
            istore 4 /* low */
        start local 4 // int low
         2: aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 5 /* high */
        start local 5 // int high
         3: .line 2403
            iconst_0
            istore 7 /* smaller */
        start local 7 // boolean smaller
         4: iconst_0
            istore 8 /* satisfied */
        start local 8 // boolean satisfied
         5: .line 2405
            aconst_null
            astore 10 /* op_cmp */
        start local 10 // org.jruby.runtime.CallSite op_cmp
         6: .line 2407
            goto 35
         7: .line 2408
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby int int top int int top org.jruby.runtime.CallSite
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            iload 4 /* low */
            isub
            iconst_2
            idiv
            iadd
            istore 6 /* mid */
        start local 6 // int mid
         8: .line 2409
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 6 /* mid */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* v */
        start local 9 // org.jruby.runtime.builtin.IRubyObject v
         9: .line 2411
            aload 9 /* v */
            instanceof org.jruby.RubyFixnum
            ifeq 16
        10: .line 2412
            aload 9 /* v */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 11 /* fixValue */
        start local 11 // long fixValue
        11: .line 2413
            lload 11 /* fixValue */
            lconst_0
            lcmp
            ifne 12
            iload 6 /* mid */
            ireturn
        12: .line 2414
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby int int int int int org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.CallSite long
      StackMap stack:
            lload 11 /* fixValue */
            lconst_0
            lcmp
            ifge 13
            iconst_1
            goto 14
      StackMap locals:
      StackMap stack:
        13: iconst_0
      StackMap locals:
      StackMap stack: int
        14: istore 7 /* smaller */
        end local 11 // long fixValue
        15: .line 2415
            goto 31
      StackMap locals:
      StackMap stack:
        16: aload 9 /* v */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            if_acmpne 20
        17: .line 2416
            iconst_1
            istore 8 /* satisfied */
        18: .line 2417
            iconst_1
            istore 7 /* smaller */
        19: .line 2418
            goto 31
      StackMap locals:
      StackMap stack:
        20: aload 9 /* v */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            if_acmpeq 21
            aload 9 /* v */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 23
        21: .line 2419
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* smaller */
        22: .line 2420
            goto 31
      StackMap locals:
      StackMap stack:
        23: aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNumeric:()Lorg/jruby/RubyClass;
            aload 9 /* v */
            invokevirtual org.jruby.RubyClass.isInstance:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 30
        24: .line 2421
            aload 10 /* op_cmp */
            ifnonnull 25
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.op_cmp_bsearch:Lorg/jruby/runtime/CallSite;
            astore 10 /* op_cmp */
        25: .line 2422
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 10 /* op_cmp */
            aload 1 /* context */
            aload 9 /* v */
            aload 9 /* v */
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 9 /* v */
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            invokestatic org.jruby.RubyComparable.cmpint:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
            tableswitch { // -1 - 1
                   -1: 28
                    0: 26
                    1: 27
              default: 29
          }
        26: .line 2423
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            ireturn
        27: .line 2424
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* smaller */
            goto 31
        28: .line 2425
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* smaller */
        29: .line 2427
      StackMap locals:
      StackMap stack:
            goto 31
        30: .line 2428
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            aload 3 /* runtime */
            ldc "wrong argument type "
            aload 3 /* runtime */
            aload 9 /* v */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getType:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
            ldc " (must be numeric, true, false or nil"
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        31: .line 2430
      StackMap locals:
      StackMap stack:
            iload 7 /* smaller */
            ifeq 34
        32: .line 2431
            iload 6 /* mid */
            istore 5 /* high */
        33: .line 2432
            goto 35
        34: .line 2433
      StackMap locals:
      StackMap stack:
            iload 6 /* mid */
            iconst_1
            iadd
            istore 4 /* low */
        end local 9 // org.jruby.runtime.builtin.IRubyObject v
        end local 6 // int mid
        35: .line 2407
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby int int top int int top org.jruby.runtime.CallSite
      StackMap stack:
            iload 4 /* low */
            iload 5 /* high */
            if_icmplt 7
        36: .line 2436
            iload 4 /* low */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpne 37
            iconst_m1
            ireturn
        37: .line 2437
      StackMap locals:
      StackMap stack:
            iload 8 /* satisfied */
            ifne 38
            iconst_m1
            ireturn
        38: .line 2438
      StackMap locals:
      StackMap stack:
            iload 4 /* low */
            ireturn
        end local 10 // org.jruby.runtime.CallSite op_cmp
        end local 8 // boolean satisfied
        end local 7 // boolean smaller
        end local 5 // int high
        end local 4 // int low
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Lorg/jruby/RubyArray<TT;>;
            0   39     1    context  Lorg/jruby/runtime/ThreadContext;
            0   39     2      block  Lorg/jruby/runtime/Block;
            1   39     3    runtime  Lorg/jruby/Ruby;
            2   39     4        low  I
            3   39     5       high  I
            8   35     6        mid  I
            4   39     7    smaller  Z
            5   39     8  satisfied  Z
            9   35     9          v  Lorg/jruby/runtime/builtin/IRubyObject;
            6   39    10     op_cmp  Lorg/jruby/runtime/CallSite;
           11   15    11   fixValue  J
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject rindex(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2445
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2446
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* i */
        start local 4 // int i
         2: .line 2448
            goto 7
         3: .line 2449
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmple 6
         4: .line 2450
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* i */
         5: .line 2451
            goto 7
         6: .line 2453
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* obj */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 7
            aload 3 /* runtime */
            iload 4 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         7: .line 2448
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iinc 4 /* i */ -1
            ifgt 3
         8: .line 2456
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int i
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            1    9     3  runtime  Lorg/jruby/Ruby;
            2    9     4        i  I
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.runtime.builtin.IRubyObject rindex(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
        start local 3 // org.jruby.runtime.Block unused
         0: .line 2461
            aload 3 /* unused */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.BLOCK_UNUSED:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "given block not used"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         1: .line 2462
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* obj */
            invokevirtual org.jruby.RubyArray.rindex:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block unused
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3   unused  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      obj      
      unused   

  public org.jruby.runtime.builtin.IRubyObject rindex(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2467
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2468
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 3 /* runtime */
            aload 0 /* this */
            ldc "rindex"
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2470
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* i */
        start local 4 // int i
         3: .line 2472
            goto 8
         4: .line 2473
      StackMap locals: int
      StackMap stack:
            iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 7
         5: .line 2474
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* i */
         6: .line 2475
            goto 8
         7: .line 2477
      StackMap locals:
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 8
            aload 3 /* runtime */
            iload 4 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         8: .line 2472
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iinc 4 /* i */ -1
            ifgt 4
         9: .line 2480
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int i
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyArray<TT;>;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            0   10     2    block  Lorg/jruby/runtime/Block;
            1   10     3  runtime  Lorg/jruby/Ruby;
            3   10     4        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject indexes(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 2488
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.DEPRECATED_METHOD:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "Array#indexes is deprecated; use Array#values_at"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         1: .line 2490
            aload 1 /* args */
            arraylength
            iconst_1
            if_icmpne 2
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
         2: .line 2492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            arraylength
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 2 /* ary */
        start local 2 // org.jruby.RubyArray ary
         3: .line 2494
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 2495
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 2 /* ary */
            iload 3 /* i */
            aload 0 /* this */
            aload 1 /* args */
            iload 3 /* i */
            aaload
            invokevirtual org.jruby.RubyArray.aref:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 2494
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* args */
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 2497
            aload 2 /* ary */
            aload 1 /* args */
            arraylength
            putfield org.jruby.RubyArray.realLength:I
         9: .line 2499
            aload 2 /* ary */
            areturn
        end local 2 // org.jruby.RubyArray ary
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/jruby/RubyArray<TT;>;
            0   10     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
            3   10     2   ary  Lorg/jruby/RubyArray;
            4    8     3     i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"indexes", "indices"}, required = 1, rest = true)
    MethodParameters:
      Name  Flags
      args  

  public org.jruby.runtime.builtin.IRubyObject reverse_bang();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2507
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         1: .line 2510
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmple 13
         2: .line 2511
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 1 /* len */
        start local 1 // int len
         3: .line 2512
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2513
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* tmp */
        start local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         6: .line 2514
            aload 0 /* this */
            iload 2 /* i */
            aload 0 /* this */
            iload 1 /* len */
            iload 2 /* i */
            isub
            iconst_1
            isub
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         7: .line 2515
            aload 0 /* this */
            iload 1 /* len */
            iload 2 /* i */
            isub
            iconst_1
            isub
            aload 3 /* tmp */
            invokevirtual org.jruby.RubyArray.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         8: .line 2512
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            iload 1 /* len */
            iconst_1
            ishr
            if_icmplt 5
        end local 2 // int i
        end local 1 // int len
        10: .line 2518
            goto 13
      StackMap locals: org.jruby.RubyArray
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        11: astore 1 /* e */
        start local 1 // java.lang.ArrayIndexOutOfBoundsException e
        12: .line 2519
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.ArrayIndexOutOfBoundsException e
        13: .line 2521
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/jruby/RubyArray<TT;>;
            3   10     1   len  I
            4   10     2     i  I
            6    8     3   tmp  TT;
           12   13     1     e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           1    10      11  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"reverse!"})

  public org.jruby.runtime.builtin.IRubyObject reverse();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2529
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmple 2
         1: .line 2530
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.safeReverse:()Lorg/jruby/RubyArray;
            areturn
         2: .line 2532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"reverse"})

  protected org.jruby.RubyArray safeReverse();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 2536
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 1 /* length */
        start local 1 // int length
         1: .line 2537
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 2 /* myBegin */
        start local 2 // int myBegin
         2: .line 2538
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* myValues */
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] myValues
         3: .line 2539
            iload 1 /* length */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* vals */
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] vals
         4: .line 2541
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         5: .line 2543
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 10
         7: .line 2544
      StackMap locals: org.jruby.RubyArray int int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby int
      StackMap stack:
            aload 4 /* vals */
            iload 6 /* i */
            aload 3 /* myValues */
            iload 2 /* myBegin */
            iload 1 /* length */
            iadd
            iload 6 /* i */
            isub
            iconst_1
            isub
            aaload
            aastore
         8: .line 2545
            aload 4 /* vals */
            iload 1 /* length */
            iload 6 /* i */
            isub
            iconst_1
            isub
            aload 3 /* myValues */
            iload 2 /* myBegin */
            iload 6 /* i */
            iadd
            aaload
            aastore
         9: .line 2543
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 1 /* length */
            iconst_1
            ishr
            if_icmple 7
        end local 6 // int i
        11: .line 2547
            goto 14
      StackMap locals: org.jruby.RubyArray int int org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject[] org.jruby.Ruby
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        12: astore 6 /* e */
        start local 6 // java.lang.ArrayIndexOutOfBoundsException e
        13: .line 2548
            aload 5 /* runtime */
            aload 6 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.ArrayIndexOutOfBoundsException e
        14: .line 2550
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 5 /* runtime */
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            aload 4 /* vals */
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.builtin.IRubyObject[] vals
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] myValues
        end local 2 // int myBegin
        end local 1 // int length
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/jruby/RubyArray<TT;>;
            1   15     1    length  I
            2   15     2   myBegin  I
            3   15     3  myValues  [Lorg/jruby/runtime/builtin/IRubyObject;
            4   15     4      vals  [Lorg/jruby/runtime/builtin/IRubyObject;
            5   15     5   runtime  Lorg/jruby/Ruby;
            6   11     6         i  I
           13   14     6         e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           5    11      12  Class java.lang.ArrayIndexOutOfBoundsException

  public org.jruby.RubyArray collect(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2557
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.makeShared:()Lorg/jruby/RubyArray;
            areturn
         1: .line 2559
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         2: .line 2560
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* arr */
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] arr
         3: .line 2562
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: .line 2563
            goto 7
         5: .line 2566
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 3 /* runtime */
            aload 4 /* arr */
            iload 5 /* i */
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.safeArraySet:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 2563
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 5
         8: .line 2570
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* arr */
            iconst_0
            iload 5 /* i */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;II)Lorg/jruby/RubyArray;
            areturn
        end local 5 // int i
        end local 4 // org.jruby.runtime.builtin.IRubyObject[] arr
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2    block  Lorg/jruby/runtime/Block;
            2    9     3  runtime  Lorg/jruby/Ruby;
            3    9     4      arr  [Lorg/jruby/runtime/builtin/IRubyObject;
            4    9     5        i  I
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject collect19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2575
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.collect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "collect"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"collect"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject map19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2580
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.collect:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "map"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"map"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.RubyArray collectBang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2587
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.newLocalJumpErrorNoBlock:()Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 2588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         2: .line 2590
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* len */
        start local 4 // int len
         4: goto 7
         5: .line 2593
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 3 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 2590
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 4 /* len */
            if_icmplt 5
        end local 4 // int len
        end local 3 // int i
         8: .line 2596
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2    block  Lorg/jruby/runtime/Block;
            3    8     3        i  I
            4    8     4      len  I
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject collect_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2604
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.collectBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "collect!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"collect!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject map_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2612
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.collectBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "map!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"map!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject selectCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2619
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2622
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            tableswitch { // 1 - 2
                    1: 2
                    2: 5
              default: 15
          }
         2: .line 2624
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 0 /* this */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* value */
        start local 4 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 2625
            aload 2 /* block */
            aload 1 /* context */
            aload 4 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 4
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 3 /* runtime */
            aload 4 /* value */
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         4: .line 2626
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 3 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject value
         5: .line 2629
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* value */
        start local 4 // org.jruby.runtime.builtin.IRubyObject value
         6: .line 2630
            aload 2 /* block */
            aload 1 /* context */
            aload 4 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            istore 5 /* first */
        start local 5 // boolean first
         7: .line 2631
            aload 0 /* this */
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* value2 */
        start local 6 // org.jruby.runtime.builtin.IRubyObject value2
         8: .line 2632
            aload 2 /* block */
            aload 1 /* context */
            aload 6 /* value2 */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            istore 7 /* second */
        start local 7 // boolean second
         9: .line 2633
            iload 5 /* first */
            ifeq 12
        10: .line 2634
            iload 7 /* second */
            ifeq 11
            aload 3 /* runtime */
            aload 4 /* value */
            aload 6 /* value2 */
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        11: .line 2635
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 3 /* runtime */
            aload 4 /* value */
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        12: .line 2636
      StackMap locals:
      StackMap stack:
            iload 7 /* second */
            ifeq 14
        13: .line 2637
            aload 3 /* runtime */
            aload 6 /* value2 */
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        14: .line 2639
      StackMap locals:
      StackMap stack:
            aload 3 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
        end local 7 // boolean second
        end local 6 // org.jruby.runtime.builtin.IRubyObject value2
        end local 5 // boolean first
        end local 4 // org.jruby.runtime.builtin.IRubyObject value
        15: .line 2643
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby
      StackMap stack:
            aload 3 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 4 /* result */
        start local 4 // org.jruby.RubyArray result
        16: .line 2645
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        17: goto 21
        18: .line 2648
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* value */
        start local 6 // org.jruby.runtime.builtin.IRubyObject value
        19: .line 2650
            aload 2 /* block */
            aload 1 /* context */
            aload 6 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 20
            aload 4 /* result */
            aload 6 /* value */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        end local 6 // org.jruby.runtime.builtin.IRubyObject value
        20: .line 2645
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 18
        end local 5 // int i
        22: .line 2653
            aload 4 /* result */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 4 /* result */
            getfield org.jruby.RubyArray.realLength:I
            aload 4 /* result */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 3 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        23: .line 2654
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.RubyArray result
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lorg/jruby/RubyArray<TT;>;
            0   24     1  context  Lorg/jruby/runtime/ThreadContext;
            0   24     2    block  Lorg/jruby/runtime/Block;
            1   24     3  runtime  Lorg/jruby/Ruby;
            3    5     4    value  Lorg/jruby/runtime/builtin/IRubyObject;
            6   15     4    value  Lorg/jruby/runtime/builtin/IRubyObject;
            7   15     5    first  Z
            8   15     6   value2  Lorg/jruby/runtime/builtin/IRubyObject;
            9   15     7   second  Z
           16   24     4   result  Lorg/jruby/RubyArray;
           17   22     5        i  I
           19   20     6    value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject select(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2659
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.selectCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "select"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject select_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2664
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            ldc "select!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 2666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         2: .line 2667
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         3: .line 2669
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         4: .line 2670
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* len */
        start local 4 // int len
         5: aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 5 /* beg */
        start local 5 // int beg
         6: .line 2672
            iconst_0
            istore 6 /* len0 */
        start local 6 // int len0
         7: iconst_0
            istore 7 /* len1 */
        start local 7 // int len1
         8: .line 2675
            iconst_0
            dup
            istore 9 /* i2 */
        start local 9 // int i2
         9: istore 8 /* i1 */
        start local 8 // int i1
        10: goto 17
        11: .line 2676
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* values */
        start local 10 // org.jruby.runtime.builtin.IRubyObject[] values
        12: .line 2679
            aload 3 /* runtime */
            aload 10 /* values */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 8 /* i1 */
            iadd
            invokestatic org.jruby.RubyArray.safeArrayRef:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        start local 11 // org.jruby.runtime.builtin.IRubyObject value
        13: .line 2681
            aload 2 /* block */
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 14
            goto 16
        14: .line 2683
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 8 /* i1 */
            iload 9 /* i2 */
            if_icmpeq 15
            aload 3 /* runtime */
            aload 10 /* values */
            iload 5 /* beg */
            iload 9 /* i2 */
            iadd
            aload 11 /* value */
            invokestatic org.jruby.RubyArray.safeArraySet:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        15: .line 2684
      StackMap locals:
      StackMap stack:
            iinc 9 /* i2 */ 1
            iload 9 /* i2 */
            istore 7 /* len1 */
        end local 11 // org.jruby.runtime.builtin.IRubyObject value
        end local 10 // org.jruby.runtime.builtin.IRubyObject[] values
        16: .line 2675
      StackMap locals:
      StackMap stack:
            iinc 8 /* i1 */ 1
            iload 8 /* i1 */
            istore 6 /* len0 */
      StackMap locals:
      StackMap stack:
        17: iload 8 /* i1 */
            iload 4 /* len */
            if_icmplt 11
        18: .line 2686
            iload 8 /* i1 */
            iload 9 /* i2 */
            if_icmpne 19
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        20: astore 13
        21: .line 2689
            aload 0 /* this */
            aload 3 /* runtime */
            iload 4 /* len */
            iload 5 /* beg */
            iload 6 /* len0 */
            iload 7 /* len1 */
            invokevirtual org.jruby.RubyArray.selectBangEnsure:(Lorg/jruby/Ruby;IIII)V
        22: .line 2686
            aload 13
            areturn
        end local 9 // int i2
        end local 8 // int i1
        23: .line 2688
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby int int int int
      StackMap stack: java.lang.Throwable
            astore 12
        24: .line 2689
            aload 0 /* this */
            aload 3 /* runtime */
            iload 4 /* len */
            iload 5 /* beg */
            iload 6 /* len0 */
            iload 7 /* len1 */
            invokevirtual org.jruby.RubyArray.selectBangEnsure:(Lorg/jruby/Ruby;IIII)V
        25: .line 2690
            aload 12
            athrow
        end local 7 // int len1
        end local 6 // int len0
        end local 5 // int beg
        end local 4 // int len
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/jruby/RubyArray<TT;>;
            0   26     1  context  Lorg/jruby/runtime/ThreadContext;
            0   26     2    block  Lorg/jruby/runtime/Block;
            4   26     3  runtime  Lorg/jruby/Ruby;
            5   26     4      len  I
            6   26     5      beg  I
            7   26     6     len0  I
            8   26     7     len1  I
           10   23     8       i1  I
            9   23     9       i2  I
           12   16    10   values  [Lorg/jruby/runtime/builtin/IRubyObject;
           13   16    11    value  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
           8    21      23  any
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"select!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject keep_if(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2695
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
         1: .line 2696
            aload 1 /* context */
            aload 0 /* this */
            ldc "keep_if"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 2698
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.select_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         3: .line 2699
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject delete(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject item
        start local 3 // org.jruby.runtime.Block block
         0: .line 2707
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 2708
            iconst_0
            istore 4 /* i2 */
        start local 4 // int i2
         2: .line 2709
            aload 2 /* item */
            astore 5 /* value */
        start local 5 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 2711
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         4: .line 2712
            iconst_0
            istore 7 /* i1 */
        start local 7 // int i1
         5: goto 13
         6: .line 2715
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int
      StackMap stack:
            aload 6 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 7 /* i1 */
            iadd
            invokestatic org.jruby.RubyArray.safeArrayRef:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* e */
        start local 8 // org.jruby.runtime.builtin.IRubyObject e
         7: .line 2716
            aload 1 /* context */
            aload 8 /* e */
            aload 2 /* item */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 10
         8: .line 2717
            aload 8 /* e */
            astore 5 /* value */
         9: .line 2718
            goto 12
        10: .line 2720
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 7 /* i1 */
            iload 4 /* i2 */
            if_icmpeq 11
            aload 0 /* this */
            iload 4 /* i2 */
            i2l
            aload 8 /* e */
            invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        11: .line 2721
      StackMap locals:
      StackMap stack:
            iinc 4 /* i2 */ 1
        end local 8 // org.jruby.runtime.builtin.IRubyObject e
        12: .line 2712
      StackMap locals:
      StackMap stack:
            iinc 7 /* i1 */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i1 */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 6
        end local 7 // int i1
        14: .line 2724
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 4 /* i2 */
            if_icmpne 17
        15: .line 2725
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 16
            aload 3 /* block */
            aload 1 /* context */
            aload 2 /* item */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        16: .line 2727
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        17: .line 2730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
        18: .line 2732
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 7 /* myRealLength */
        start local 7 // int myRealLength
        19: .line 2733
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 8 /* myBegin */
        start local 8 // int myBegin
        20: .line 2734
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* myValues */
        start local 9 // org.jruby.runtime.builtin.IRubyObject[] myValues
        21: .line 2736
            iload 7 /* myRealLength */
            iload 4 /* i2 */
            if_icmple 29
        22: .line 2737
            aload 9 /* myValues */
            iload 8 /* myBegin */
            iload 4 /* i2 */
            iadd
            iload 8 /* myBegin */
            iload 7 /* myRealLength */
            iadd
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        23: .line 2738
            aload 0 /* this */
            iload 4 /* i2 */
            putfield org.jruby.RubyArray.realLength:I
        24: .line 2739
            aload 9 /* myValues */
            arraylength
            iload 8 /* myBegin */
            isub
            istore 10 /* valuesLength */
        start local 10 // int valuesLength
        25: .line 2740
            iload 4 /* i2 */
            iconst_1
            ishl
            iload 10 /* valuesLength */
            if_icmpge 29
            iload 10 /* valuesLength */
            bipush 16
            if_icmple 29
            aload 0 /* this */
            iload 4 /* i2 */
            iconst_1
            ishl
            iload 10 /* valuesLength */
            invokevirtual org.jruby.RubyArray.realloc:(II)V
        end local 10 // int valuesLength
        26: .line 2742
            goto 29
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block int org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        27: astore 10 /* ex */
        start local 10 // java.lang.ArrayIndexOutOfBoundsException ex
        28: .line 2743
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 10 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 10 // java.lang.ArrayIndexOutOfBoundsException ex
        29: .line 2746
      StackMap locals:
      StackMap stack:
            aload 5 /* value */
            areturn
        end local 9 // org.jruby.runtime.builtin.IRubyObject[] myValues
        end local 8 // int myBegin
        end local 7 // int myRealLength
        end local 6 // org.jruby.Ruby runtime
        end local 5 // org.jruby.runtime.builtin.IRubyObject value
        end local 4 // int i2
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject item
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lorg/jruby/RubyArray<TT;>;
            0   30     1       context  Lorg/jruby/runtime/ThreadContext;
            0   30     2          item  Lorg/jruby/runtime/builtin/IRubyObject;
            0   30     3         block  Lorg/jruby/runtime/Block;
            2   30     4            i2  I
            3   30     5         value  Lorg/jruby/runtime/builtin/IRubyObject;
            4   30     6       runtime  Lorg/jruby/Ruby;
            5   14     7            i1  I
            7   12     8             e  Lorg/jruby/runtime/builtin/IRubyObject;
           19   30     7  myRealLength  I
           20   30     8       myBegin  I
           21   30     9      myValues  [Lorg/jruby/runtime/builtin/IRubyObject;
           25   26    10  valuesLength  I
           28   29    10            ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          21    26      27  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(required = 1)
    MethodParameters:
         Name  Flags
      context  
      item     
      block    

  public org.jruby.runtime.builtin.IRubyObject delete_at(int);
    descriptor: (I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int pos
         0: .line 2753
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 2 /* len */
        start local 2 // int len
         1: .line 2754
            iload 1 /* pos */
            iload 2 /* len */
            if_icmpge 2
            iload 1 /* pos */
            ifge 3
            iload 1 /* pos */
            iload 2 /* len */
            iadd
            dup
            istore 1 /* pos */
            ifge 3
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 2756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         4: .line 2757
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         5: .line 2759
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* nil */
        start local 3 // org.jruby.runtime.builtin.IRubyObject nil
         6: .line 2763
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 1 /* pos */
            iadd
            aaload
            astore 4 /* obj */
        start local 4 // org.jruby.runtime.builtin.IRubyObject obj
         7: .line 2765
            iload 1 /* pos */
            ifne 13
         8: .line 2766
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 3 /* nil */
            aastore
         9: .line 2767
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.begin:I
            iconst_1
            iadd
            putfield org.jruby.RubyArray.begin:I
        10: .line 2768
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            putfield org.jruby.RubyArray.realLength:I
        11: .line 2769
            aload 4 /* obj */
        12: areturn
        13: .line 2770
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 1 /* pos */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            if_icmpne 18
        14: .line 2771
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            iconst_1
            isub
            aload 3 /* nil */
            aastore
        15: .line 2772
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            putfield org.jruby.RubyArray.realLength:I
        16: .line 2773
            aload 4 /* obj */
        17: areturn
        18: .line 2776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 1 /* pos */
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 1 /* pos */
            iadd
            iload 2 /* len */
            iload 1 /* pos */
            iconst_1
            iadd
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        19: .line 2777
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* len */
            iadd
            iconst_1
            isub
            aload 3 /* nil */
            aastore
        20: .line 2778
            goto 23
        end local 4 // org.jruby.runtime.builtin.IRubyObject obj
      StackMap locals: org.jruby.RubyArray int int org.jruby.runtime.builtin.IRubyObject
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        21: astore 5 /* e */
        start local 5 // java.lang.ArrayIndexOutOfBoundsException e
        22: .line 2779
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 5 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.ArrayIndexOutOfBoundsException e
        start local 4 // org.jruby.runtime.builtin.IRubyObject obj
        23: .line 2781
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            putfield org.jruby.RubyArray.realLength:I
        24: .line 2783
            aload 4 /* obj */
            areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject obj
        end local 3 // org.jruby.runtime.builtin.IRubyObject nil
        end local 2 // int len
        end local 1 // int pos
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Lorg/jruby/RubyArray<TT;>;
            0   25     1   pos  I
            1   25     2   len  I
            6   25     3   nil  Lorg/jruby/runtime/builtin/IRubyObject;
            7   21     4   obj  Lorg/jruby/runtime/builtin/IRubyObject;
           23   25     4   obj  Lorg/jruby/runtime/builtin/IRubyObject;
           22   23     5     e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           6    12      21  Class java.lang.ArrayIndexOutOfBoundsException
          13    17      21  Class java.lang.ArrayIndexOutOfBoundsException
          18    20      21  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      pos   

  public org.jruby.runtime.builtin.IRubyObject delete_at(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2791
            aload 0 /* this */
            aload 1 /* obj */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            l2i
            invokevirtual org.jruby.RubyArray.delete_at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
            0    1     1   obj  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"delete_at"}, required = 1)
    MethodParameters:
      Name  Flags
      obj   

  public final org.jruby.runtime.builtin.IRubyObject rejectCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2798
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            astore 3 /* ary */
        start local 3 // org.jruby.RubyArray ary
         1: .line 2799
            aload 3 /* ary */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.rejectBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 2800
            aload 3 /* ary */
            areturn
        end local 3 // org.jruby.RubyArray ary
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
            1    3     3      ary  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject reject(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2805
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.rejectCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "reject"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject rejectBang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2810
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 2811
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         2: .line 2813
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         3: .line 2814
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* len */
        start local 4 // int len
         4: aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 5 /* beg */
        start local 5 // int beg
         5: .line 2816
            iconst_0
            istore 6 /* len0 */
        start local 6 // int len0
         6: iconst_0
            istore 7 /* len1 */
        start local 7 // int len1
         7: .line 2819
            iconst_0
            dup
            istore 9 /* i2 */
        start local 9 // int i2
         8: istore 8 /* i1 */
        start local 8 // int i1
         9: goto 16
        10: .line 2820
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* values */
        start local 10 // org.jruby.runtime.builtin.IRubyObject[] values
        11: .line 2823
            aload 3 /* runtime */
            aload 10 /* values */
            iload 5 /* beg */
            iload 8 /* i1 */
            iadd
            invokestatic org.jruby.RubyArray.safeArrayRef:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        start local 11 // org.jruby.runtime.builtin.IRubyObject value
        12: .line 2825
            aload 2 /* block */
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 13
            goto 15
        13: .line 2827
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 8 /* i1 */
            iload 9 /* i2 */
            if_icmpeq 14
            aload 3 /* runtime */
            aload 10 /* values */
            iload 5 /* beg */
            iload 9 /* i2 */
            iadd
            aload 11 /* value */
            invokestatic org.jruby.RubyArray.safeArraySet:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        14: .line 2828
      StackMap locals:
      StackMap stack:
            iinc 9 /* i2 */ 1
            iload 9 /* i2 */
            istore 7 /* len1 */
        end local 11 // org.jruby.runtime.builtin.IRubyObject value
        end local 10 // org.jruby.runtime.builtin.IRubyObject[] values
        15: .line 2819
      StackMap locals:
      StackMap stack:
            iinc 8 /* i1 */ 1
            iload 8 /* i1 */
            istore 6 /* len0 */
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i1 */
            iload 4 /* len */
            if_icmplt 10
        17: .line 2831
            iload 8 /* i1 */
            iload 9 /* i2 */
            if_icmpne 18
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 0 /* this */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        19: astore 13
        20: .line 2834
            aload 0 /* this */
            aload 3 /* runtime */
            iload 4 /* len */
            iload 5 /* beg */
            iload 6 /* len0 */
            iload 7 /* len1 */
            invokevirtual org.jruby.RubyArray.selectBangEnsure:(Lorg/jruby/Ruby;IIII)V
        21: .line 2831
            aload 13
            areturn
        end local 9 // int i2
        end local 8 // int i1
        22: .line 2833
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby int int int int
      StackMap stack: java.lang.Throwable
            astore 12
        23: .line 2834
            aload 0 /* this */
            aload 3 /* runtime */
            iload 4 /* len */
            iload 5 /* beg */
            iload 6 /* len0 */
            iload 7 /* len1 */
            invokevirtual org.jruby.RubyArray.selectBangEnsure:(Lorg/jruby/Ruby;IIII)V
        24: .line 2835
            aload 12
            athrow
        end local 7 // int len1
        end local 6 // int len0
        end local 5 // int beg
        end local 4 // int len
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lorg/jruby/RubyArray<TT;>;
            0   25     1  context  Lorg/jruby/runtime/ThreadContext;
            0   25     2    block  Lorg/jruby/runtime/Block;
            3   25     3  runtime  Lorg/jruby/Ruby;
            4   25     4      len  I
            5   25     5      beg  I
            6   25     6     len0  I
            7   25     7     len1  I
            9   22     8       i1  I
            8   22     9       i2  I
           11   15    10   values  [Lorg/jruby/runtime/builtin/IRubyObject;
           12   15    11    value  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
           7    20      22  any
    MethodParameters:
         Name  Flags
      context  
      block    

  private void selectBangEnsure(org.jruby.Ruby, int, int, int, int);
    descriptor: (Lorg/jruby/Ruby;IIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int len
        start local 3 // int beg
        start local 4 // int i1
        start local 5 // int i2
         0: .line 2841
            iload 5 /* i2 */
            iload 4 /* i1 */
            if_icmpge 10
         1: .line 2842
            aload 0 /* this */
            iload 2 /* len */
            iload 4 /* i1 */
            isub
            iload 5 /* i2 */
            iadd
            putfield org.jruby.RubyArray.realLength:I
         2: .line 2843
            iload 4 /* i1 */
            iload 2 /* len */
            if_icmpge 5
         3: .line 2844
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* beg */
            iload 4 /* i1 */
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* beg */
            iload 5 /* i2 */
            iadd
            iload 2 /* len */
            iload 4 /* i1 */
            isub
            invokestatic org.jruby.RubyArray.safeArrayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
         4: .line 2845
            goto 10
         5: .line 2846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifle 10
         6: .line 2849
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 3 /* beg */
            iload 5 /* i2 */
            iadd
            iload 3 /* beg */
            iload 4 /* i1 */
            iadd
            aload 1 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         7: .line 2850
            goto 10
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         8: astore 6 /* ex */
        start local 6 // java.lang.ArrayIndexOutOfBoundsException ex
         9: .line 2851
            aload 1 /* runtime */
            aload 6 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.ArrayIndexOutOfBoundsException ex
        10: .line 2855
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int i2
        end local 4 // int i1
        end local 3 // int beg
        end local 2 // int len
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyArray<TT;>;
            0   11     1  runtime  Lorg/jruby/Ruby;
            0   11     2      len  I
            0   11     3      beg  I
            0   11     4       i1  I
            0   11     5       i2  I
            9   10     6       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      runtime  final
      len      final
      beg      final
      i1       
      i2       

  public org.jruby.runtime.builtin.IRubyObject reject_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2859
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.rejectBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "reject!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"reject!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject deleteIf(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2866
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.rejectBang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 2867
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject delete_if(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 2872
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.deleteIf:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "delete_if"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject zip(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=14, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 2880
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 2881
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            astore 5 /* array */
        start local 5 // org.jruby.RubyClass array
         2: .line 2882
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            astore 6 /* sites */
        start local 6 // org.jruby.runtime.JavaSites$ArraySites sites
         3: .line 2884
            aload 2 /* args */
            arraylength
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* newArgs */
        start local 7 // org.jruby.runtime.builtin.IRubyObject[] newArgs
         4: .line 2886
            iconst_0
            istore 8 /* hasUncoercible */
        start local 8 // boolean hasUncoercible
         5: .line 2887
            aload 6 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.to_ary_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            astore 9 /* to_ary_checked */
        start local 9 // org.jruby.runtime.JavaSites$CheckedSites to_ary_checked
         6: .line 2888
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         7: goto 12
         8: .line 2889
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyClass org.jruby.runtime.JavaSites$ArraySites org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.JavaSites$CheckedSites int
      StackMap stack:
            aload 7 /* newArgs */
            iload 10 /* i */
            aload 1 /* context */
            aload 2 /* args */
            iload 10 /* i */
            aaload
            aload 5 /* array */
            aload 9 /* to_ary_checked */
            iconst_0
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;Z)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
         9: .line 2890
            aload 7 /* newArgs */
            iload 10 /* i */
            aaload
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 11
        10: .line 2891
            iconst_1
            istore 8 /* hasUncoercible */
        11: .line 2888
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 10 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 8
        end local 10 // int i
        13: .line 2896
            iload 8 /* hasUncoercible */
            ifeq 23
        14: .line 2897
            aload 6 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.to_enum:Lorg/jruby/runtime/CallSite;
            astore 10 /* to_enum */
        start local 10 // org.jruby.runtime.CallSite to_enum
        15: .line 2898
            aload 4 /* runtime */
            ldc "each"
            invokevirtual org.jruby.Ruby.newSymbol:(Ljava/lang/String;)Lorg/jruby/RubySymbol;
            astore 11 /* each */
        start local 11 // org.jruby.RubySymbol each
        16: .line 2899
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        17: goto 22
        18: .line 2900
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyClass org.jruby.runtime.JavaSites$ArraySites org.jruby.runtime.builtin.IRubyObject[] int org.jruby.runtime.JavaSites$CheckedSites org.jruby.runtime.CallSite org.jruby.RubySymbol int
      StackMap stack:
            aload 2 /* args */
            iload 12 /* i */
            aaload
            astore 13 /* arg */
        start local 13 // org.jruby.runtime.builtin.IRubyObject arg
        19: .line 2901
            aload 13 /* arg */
            ldc "each"
            invokeinterface org.jruby.runtime.builtin.IRubyObject.respondsTo:(Ljava/lang/String;)Z
            ifne 20
            aload 4 /* runtime */
            aload 13 /* arg */
            ldc "must respond to :each"
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        20: .line 2902
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* newArgs */
            iload 12 /* i */
            aload 10 /* to_enum */
            aload 1 /* context */
            aload 13 /* arg */
            aload 13 /* arg */
            aload 11 /* each */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
        end local 13 // org.jruby.runtime.builtin.IRubyObject arg
        21: .line 2899
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 12 /* i */
            aload 2 /* args */
            arraylength
            if_icmplt 18
        end local 12 // int i
        end local 11 // org.jruby.RubySymbol each
        end local 10 // org.jruby.runtime.CallSite to_enum
        23: .line 2906
      StackMap locals:
      StackMap stack:
            iload 8 /* hasUncoercible */
            ifeq 25
        24: .line 2907
            aload 0 /* this */
            aload 1 /* context */
            aload 7 /* newArgs */
            aload 3 /* block */
            new org.jruby.RubyArray$3
            dup
            aload 0 /* this */
            invokespecial org.jruby.RubyArray$3.<init>:(Lorg/jruby/RubyArray;)V
            invokevirtual org.jruby.RubyArray.zipCommon:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray$ArgumentVisitor;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        25: .line 2913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 7 /* newArgs */
            aload 3 /* block */
            new org.jruby.RubyArray$4
            dup
            aload 0 /* this */
            invokespecial org.jruby.RubyArray$4.<init>:(Lorg/jruby/RubyArray;)V
            invokevirtual org.jruby.RubyArray.zipCommon:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray$ArgumentVisitor;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 9 // org.jruby.runtime.JavaSites$CheckedSites to_ary_checked
        end local 8 // boolean hasUncoercible
        end local 7 // org.jruby.runtime.builtin.IRubyObject[] newArgs
        end local 6 // org.jruby.runtime.JavaSites$ArraySites sites
        end local 5 // org.jruby.RubyClass array
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lorg/jruby/RubyArray<TT;>;
            0   26     1         context  Lorg/jruby/runtime/ThreadContext;
            0   26     2            args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   26     3           block  Lorg/jruby/runtime/Block;
            1   26     4         runtime  Lorg/jruby/Ruby;
            2   26     5           array  Lorg/jruby/RubyClass;
            3   26     6           sites  Lorg/jruby/runtime/JavaSites$ArraySites;
            4   26     7         newArgs  [Lorg/jruby/runtime/builtin/IRubyObject;
            5   26     8  hasUncoercible  Z
            6   26     9  to_ary_checked  Lorg/jruby/runtime/JavaSites$CheckedSites;
            7   13    10               i  I
           15   23    10         to_enum  Lorg/jruby/runtime/CallSite;
           16   23    11            each  Lorg/jruby/RubySymbol;
           17   23    12               i  I
           19   21    13             arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(optional = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  private org.jruby.runtime.builtin.IRubyObject zipCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block, org.jruby.RubyArray$ArgumentVisitor);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray$ArgumentVisitor;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
        start local 4 // org.jruby.RubyArray$ArgumentVisitor visitor
         0: .line 2927
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 2929
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 15
         2: .line 2930
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 13
         4: .line 2931
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            aload 2 /* args */
            arraylength
            iconst_1
            iadd
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* tmp */
        start local 7 // org.jruby.runtime.builtin.IRubyObject[] tmp
         5: .line 2934
            aload 7 /* tmp */
            iconst_0
            aload 0 /* this */
            iload 6 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
         6: .line 2935
            iconst_0
            istore 8 /* j */
        start local 8 // int j
         7: goto 10
         8: .line 2936
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 7 /* tmp */
            iload 8 /* j */
            iconst_1
            iadd
            aload 4 /* visitor */
            aload 1 /* context */
            aload 2 /* args */
            iload 8 /* j */
            aaload
            iload 6 /* i */
            invokeinterface org.jruby.RubyArray$ArgumentVisitor.visit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
         9: .line 2935
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        10: iload 8 /* j */
            aload 2 /* args */
            arraylength
            if_icmplt 8
        end local 8 // int j
        11: .line 2938
            aload 3 /* block */
            aload 1 /* context */
            aload 5 /* runtime */
            aload 7 /* tmp */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 7 // org.jruby.runtime.builtin.IRubyObject[] tmp
        12: .line 2930
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
        end local 6 // int i
        14: .line 2940
            aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        15: .line 2943
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* result */
        start local 6 // org.jruby.runtime.builtin.IRubyObject[] result
        16: .line 2945
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        17: goto 27
        18: .line 2946
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 2 /* args */
            arraylength
            iconst_1
            iadd
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* tmp */
        start local 8 // org.jruby.runtime.builtin.IRubyObject[] tmp
        19: .line 2947
            aload 8 /* tmp */
            iconst_0
            aload 0 /* this */
            iload 7 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
        20: .line 2948
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        21: goto 24
        22: .line 2949
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            aload 8 /* tmp */
            iload 9 /* j */
            iconst_1
            iadd
            aload 4 /* visitor */
            aload 1 /* context */
            aload 2 /* args */
            iload 9 /* j */
            aaload
            iload 7 /* i */
            invokeinterface org.jruby.RubyArray$ArgumentVisitor.visit:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
        23: .line 2948
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 9 /* j */
            aload 2 /* args */
            arraylength
            if_icmplt 22
        end local 9 // int j
        25: .line 2951
            aload 6 /* result */
            iload 7 /* i */
            aload 5 /* runtime */
            aload 8 /* tmp */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            aastore
        end local 8 // org.jruby.runtime.builtin.IRubyObject[] tmp
        26: .line 2945
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 7 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 18
        end local 7 // int i
        28: .line 2953
            goto 31
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.RubyArray$ArgumentVisitor org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        29: astore 7 /* ex */
        start local 7 // java.lang.ArrayIndexOutOfBoundsException ex
        30: .line 2954
            aload 5 /* runtime */
            aload 7 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // java.lang.ArrayIndexOutOfBoundsException ex
        31: .line 2956
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 6 /* result */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject[] result
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.RubyArray$ArgumentVisitor visitor
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lorg/jruby/RubyArray<TT;>;
            0   32     1  context  Lorg/jruby/runtime/ThreadContext;
            0   32     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   32     3    block  Lorg/jruby/runtime/Block;
            0   32     4  visitor  Lorg/jruby/RubyArray$ArgumentVisitor;
            1   32     5  runtime  Lorg/jruby/Ruby;
            3   14     6        i  I
            5   12     7      tmp  [Lorg/jruby/runtime/builtin/IRubyObject;
            7   11     8        j  I
           16   32     6   result  [Lorg/jruby/runtime/builtin/IRubyObject;
           17   28     7        i  I
           19   26     8      tmp  [Lorg/jruby/runtime/builtin/IRubyObject;
           21   25     9        j  I
           30   31     7       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          16    28      29  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      context  
      args     
      block    
      visitor  

  public org.jruby.runtime.builtin.IRubyObject op_cmp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 2964
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 2966
            aload 2 /* obj */
            instanceof org.jruby.RubyArray
            ifne 2
            aload 2 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyClass.getSuperClass:()Lorg/jruby/RubyClass;
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            if_acmpeq 2
            iconst_0
            goto 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* isAnArray */
        start local 4 // boolean isAnArray
         4: .line 2968
            iload 4 /* isAnArray */
            ifne 6
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.respond_to_to_ary:Lorg/jruby/runtime/callsite/RespondToCallSite;
            aload 1 /* context */
            aload 2 /* obj */
            aload 2 /* obj */
            iconst_1
            invokevirtual org.jruby.runtime.callsite.RespondToCallSite.respondsTo:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Z)Z
            ifne 6
         5: .line 2969
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 2973
      StackMap locals: int
      StackMap stack:
            iload 4 /* isAnArray */
            ifne 9
         7: .line 2974
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.to_ary:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 2 /* obj */
            aload 2 /* obj */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 5 /* ary2 */
        start local 5 // org.jruby.RubyArray ary2
         8: .line 2975
            goto 10
        end local 5 // org.jruby.RubyArray ary2
         9: .line 2976
      StackMap locals:
      StackMap stack:
            aload 2 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 5 /* ary2 */
        start local 5 // org.jruby.RubyArray ary2
        10: .line 2979
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* runtime */
            aload 5 /* ary2 */
            invokevirtual org.jruby.RubyArray.cmpCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // org.jruby.RubyArray ary2
        end local 4 // boolean isAnArray
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/jruby/RubyArray<TT;>;
            0   11     1    context  Lorg/jruby/runtime/ThreadContext;
            0   11     2        obj  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     3    runtime  Lorg/jruby/Ruby;
            4   11     4  isAnArray  Z
            8    9     5       ary2  Lorg/jruby/RubyArray;
           10   11     5       ary2  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"<=>"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      obj      

  private org.jruby.runtime.builtin.IRubyObject cmpCommon(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.RubyArray);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.RubyArray ary2
         0: .line 2983
            aload 0 /* this */
            aload 3 /* ary2 */
            if_acmpeq 1
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.isInspecting:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
         2: .line 2986
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.registerInspecting:(Ljava/lang/Object;)V
         3: .line 2988
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* len */
        start local 4 // int len
         4: .line 2989
            iload 4 /* len */
            aload 3 /* ary2 */
            getfield org.jruby.RubyArray.realLength:I
            if_icmple 5
            aload 3 /* ary2 */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* len */
         5: .line 2991
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.cmp:Lorg/jruby/runtime/CallSite;
            astore 5 /* cmp */
        start local 5 // org.jruby.runtime.CallSite cmp
         6: .line 2992
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 14
         8: .line 2993
      StackMap locals: org.jruby.runtime.CallSite int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* elt */
        start local 7 // org.jruby.runtime.builtin.IRubyObject elt
         9: .line 2994
            aload 5 /* cmp */
            aload 1 /* context */
            aload 7 /* elt */
            aload 7 /* elt */
            aload 3 /* ary2 */
            iload 6 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* v */
        start local 8 // org.jruby.runtime.builtin.IRubyObject v
        10: .line 2995
            aload 8 /* v */
            instanceof org.jruby.RubyFixnum
            ifeq 11
            aload 8 /* v */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lconst_0
            lcmp
            ifeq 13
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
        11: aload 8 /* v */
            astore 10
        12: .line 2998
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
            aload 10
            areturn
        end local 8 // org.jruby.runtime.builtin.IRubyObject v
        end local 7 // org.jruby.runtime.builtin.IRubyObject elt
        13: .line 2992
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* i */
            iload 4 /* len */
            if_icmplt 8
        end local 6 // int i
        end local 5 // org.jruby.runtime.CallSite cmp
        end local 4 // int len
        15: .line 2997
            goto 19
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.Ruby org.jruby.RubyArray
      StackMap stack: java.lang.Throwable
        16: astore 9
        17: .line 2998
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
        18: .line 2999
            aload 9
            athrow
        19: .line 2998
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.Ruby.unregisterInspecting:(Ljava/lang/Object;)V
        20: .line 3001
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            aload 3 /* ary2 */
            getfield org.jruby.RubyArray.realLength:I
            isub
            istore 4 /* len */
        start local 4 // int len
        21: .line 3003
            iload 4 /* len */
            ifne 22
            aload 2 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        22: .line 3004
      StackMap locals: int
      StackMap stack:
            iload 4 /* len */
            ifle 23
            aload 2 /* runtime */
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        23: .line 3006
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            invokestatic org.jruby.RubyFixnum.minus_one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // int len
        end local 3 // org.jruby.RubyArray ary2
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lorg/jruby/RubyArray<TT;>;
            0   24     1  context  Lorg/jruby/runtime/ThreadContext;
            0   24     2  runtime  Lorg/jruby/Ruby;
            0   24     3     ary2  Lorg/jruby/RubyArray;
            4   15     4      len  I
            6   15     5      cmp  Lorg/jruby/runtime/CallSite;
            7   15     6        i  I
            9   13     7      elt  Lorg/jruby/runtime/builtin/IRubyObject;
           10   13     8        v  Lorg/jruby/runtime/builtin/IRubyObject;
           21   24     4      len  I
      Exception table:
        from    to  target  type
           2    12      16  any
          13    16      16  any
    MethodParameters:
         Name  Flags
      context  
      runtime  
      ary2     

  public org.jruby.runtime.builtin.IRubyObject slice_bang(org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3014
            aload 1 /* args */
            arraylength
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 3016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            invokevirtual org.jruby.RubyArray.slice_bang:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* args */
            iconst_0
            aaload
            aload 1 /* args */
            iconst_1
            aaload
            invokevirtual org.jruby.RubyArray.slice_bang:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 3020
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 1 /* args */
            arraylength
            iconst_1
            iconst_2
            invokestatic org.jruby.runtime.Arity.raiseArgumentError:(Lorg/jruby/Ruby;III)V
         4: .line 3021
            aconst_null
            areturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      args  

  private org.jruby.runtime.builtin.IRubyObject slice_internal(org.jruby.Ruby, int, int);
    descriptor: (Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // int pos
        start local 3 // int len
         0: .line 3026
            iload 3 /* len */
            ifge 1
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 3027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* orig_len */
        start local 4 // int orig_len
         2: .line 3028
            iload 2 /* pos */
            ifge 5
         3: .line 3029
            iload 2 /* pos */
            iload 4 /* orig_len */
            iadd
            istore 2 /* pos */
         4: .line 3030
            iload 2 /* pos */
            ifge 7
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 3031
      StackMap locals: int
      StackMap stack:
            iload 4 /* orig_len */
            iload 2 /* pos */
            if_icmpge 7
         6: .line 3032
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 3035
      StackMap locals:
      StackMap stack:
            iload 4 /* orig_len */
            iload 2 /* pos */
            iload 3 /* len */
            iadd
            if_icmpge 9
         8: .line 3036
            iload 4 /* orig_len */
            iload 2 /* pos */
            isub
            istore 3 /* len */
         9: .line 3038
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            ifne 11
        10: .line 3039
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.newEmptyArray:()Lorg/jruby/RubyArray;
            areturn
        11: .line 3042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
        12: .line 3044
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* pos */
            iadd
            iload 3 /* len */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            astore 5 /* result */
        start local 5 // org.jruby.RubyArray result
        13: .line 3045
            aload 0 /* this */
            aload 1 /* runtime */
            iload 2 /* pos */
            iload 3 /* len */
            aconst_null
            iconst_0
            invokevirtual org.jruby.RubyArray.splice:(Lorg/jruby/Ruby;IILorg/jruby/RubyArray;I)V
        14: .line 3047
            aload 5 /* result */
            areturn
        end local 5 // org.jruby.RubyArray result
        end local 4 // int orig_len
        end local 3 // int len
        end local 2 // int pos
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/jruby/RubyArray<TT;>;
            0   15     1   runtime  Lorg/jruby/Ruby;
            0   15     2       pos  I
            0   15     3       len  I
            2   15     4  orig_len  I
           13   15     5    result  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      runtime  final
      pos      
      len      

  public org.jruby.runtime.builtin.IRubyObject slice_bang(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
         0: .line 3055
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 3056
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         2: .line 3057
            aload 1 /* arg0 */
            instanceof org.jruby.RubyRange
            ifeq 9
         3: .line 3058
            aload 1 /* arg0 */
            checkcast org.jruby.RubyRange
            astore 3 /* range */
        start local 3 // org.jruby.RubyRange range
         4: .line 3059
            aload 3 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokevirtual org.jruby.RubyRange.checkBegin:(J)Z
            ifne 6
         5: .line 3060
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 3063
      StackMap locals: org.jruby.Ruby org.jruby.RubyRange
      StackMap stack:
            aload 2 /* runtime */
            aload 3 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokevirtual org.jruby.RubyRange.begLen0:(J)J
            invokestatic org.jruby.RubyNumeric.checkInt:(Lorg/jruby/Ruby;J)I
            istore 4 /* pos */
        start local 4 // int pos
         7: .line 3064
            aload 2 /* runtime */
            aload 3 /* range */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            iload 4 /* pos */
            invokevirtual org.jruby.RubyRange.begLen1:(JI)J
            invokestatic org.jruby.RubyNumeric.checkInt:(Lorg/jruby/Ruby;J)I
            istore 5 /* len */
        start local 5 // int len
         8: .line 3065
            aload 0 /* this */
            aload 2 /* runtime */
            iload 4 /* pos */
            iload 5 /* len */
            invokevirtual org.jruby.RubyArray.slice_internal:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 5 // int len
        end local 4 // int pos
        end local 3 // org.jruby.RubyRange range
         9: .line 3067
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokevirtual org.jruby.RubyArray.delete_at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyArray<TT;>;
            0   10     1     arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            2   10     2  runtime  Lorg/jruby/Ruby;
            4    9     3    range  Lorg/jruby/RubyRange;
            7    9     4      pos  I
            8    9     5      len  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"slice!"})
    MethodParameters:
      Name  Flags
      arg0  

  public org.jruby.runtime.builtin.IRubyObject slice_bang(org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg1
         0: .line 3075
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 3077
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* arg0 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            aload 2 /* arg1 */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokevirtual org.jruby.RubyArray.slice_internal:(Lorg/jruby/Ruby;II)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg1
        end local 1 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  arg1  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"slice!"})
    MethodParameters:
      Name  Flags
      arg0  
      arg1  

  public org.jruby.runtime.builtin.IRubyObject assoc(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject key
         0: .line 3085
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            pop
         1: .line 3087
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 3088
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* v */
        start local 4 // org.jruby.runtime.builtin.IRubyObject v
         4: .line 3089
            aload 4 /* v */
            instanceof org.jruby.RubyArray
            ifeq 7
         5: .line 3090
            aload 4 /* v */
            checkcast org.jruby.RubyArray
            astore 5 /* arr */
        start local 5 // org.jruby.RubyArray arr
         6: .line 3091
            aload 5 /* arr */
            getfield org.jruby.RubyArray.realLength:I
            ifle 7
            aload 1 /* context */
            aload 5 /* arr */
            lconst_0
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* key */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 7
            aload 5 /* arr */
            areturn
        end local 5 // org.jruby.RubyArray arr
        end local 4 // org.jruby.runtime.builtin.IRubyObject v
         7: .line 3087
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 3 // int i
         9: .line 3095
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject key
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyArray<TT;>;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            0   10     2      key  Lorg/jruby/runtime/builtin/IRubyObject;
            2    9     3        i  I
            4    7     4        v  Lorg/jruby/runtime/builtin/IRubyObject;
            6    7     5      arr  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"assoc"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      key      

  public org.jruby.runtime.builtin.IRubyObject rassoc(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 3103
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            pop
         1: .line 3105
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 3106
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* v */
        start local 4 // org.jruby.runtime.builtin.IRubyObject v
         4: .line 3107
            aload 4 /* v */
            instanceof org.jruby.RubyArray
            ifeq 7
         5: .line 3108
            aload 4 /* v */
            checkcast org.jruby.RubyArray
            astore 5 /* arr */
        start local 5 // org.jruby.RubyArray arr
         6: .line 3109
            aload 5 /* arr */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmple 7
            aload 1 /* context */
            aload 5 /* arr */
            lconst_1
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* value */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 7
            aload 5 /* arr */
            areturn
        end local 5 // org.jruby.RubyArray arr
        end local 4 // org.jruby.runtime.builtin.IRubyObject v
         7: .line 3105
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 3 // int i
         9: .line 3113
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject value
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/jruby/RubyArray<TT;>;
            0   10     1  context  Lorg/jruby/runtime/ThreadContext;
            0   10     2    value  Lorg/jruby/runtime/builtin/IRubyObject;
            2    9     3        i  I
            4    7     4        v  Lorg/jruby/runtime/builtin/IRubyObject;
            6    7     5      arr  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rassoc"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      value    

  protected boolean flatten(org.jruby.runtime.ThreadContext, int, org.jruby.RubyArray);
    descriptor: (Lorg/jruby/runtime/ThreadContext;ILorg/jruby/RubyArray;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=11, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int level
        start local 3 // org.jruby.RubyArray result
         0: .line 3119
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 3120
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         2: .line 3122
            aconst_null
            astore 5 /* stack */
        start local 5 // java.util.ArrayList stack
         3: .line 3123
            aconst_null
            astore 6 /* memo */
        start local 6 // java.util.IdentityHashMap memo
         4: .line 3125
            aload 0 /* this */
            astore 7 /* ary */
        start local 7 // org.jruby.RubyArray ary
         5: .line 3126
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: .line 3130
            goto 24
         7: .line 3131
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext int org.jruby.RubyArray org.jruby.Ruby java.util.ArrayList java.util.IdentityHashMap org.jruby.RubyArray int
      StackMap stack:
            aload 7 /* ary */
            iload 8 /* i */
            iinc 8 /* i */ 1
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* elt */
        start local 9 // org.jruby.runtime.builtin.IRubyObject elt
         8: .line 3132
            iload 2 /* level */
            iflt 13
            aload 5 /* stack */
            ifnonnull 9
            iconst_0
            goto 10
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         9: aload 5 /* stack */
            invokevirtual java.util.ArrayList.size:()I
      StackMap locals:
      StackMap stack: int
        10: iconst_2
            idiv
            iload 2 /* level */
            if_icmplt 13
        11: .line 3133
            aload 3 /* result */
            aload 9 /* elt */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
        12: .line 3134
            goto 24
        13: .line 3136
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            aload 9 /* elt */
            invokestatic org.jruby.util.TypeConverter.checkArrayType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* tmp */
        start local 10 // org.jruby.runtime.builtin.IRubyObject tmp
        14: .line 3137
            aload 10 /* tmp */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 15
            aload 3 /* result */
            aload 9 /* elt */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
            goto 24
        15: .line 3139
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* memo */
            ifnonnull 18
        16: .line 3140
            new java.util.IdentityHashMap
            dup
            iconst_5
            invokespecial java.util.IdentityHashMap.<init>:(I)V
            astore 6 /* memo */
        17: .line 3141
            aload 6 /* memo */
            aload 0 /* this */
            getstatic org.jruby.RubyArray.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.util.IdentityHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 3143
      StackMap locals:
      StackMap stack:
            aload 6 /* memo */
            aload 10 /* tmp */
            invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 19
            aload 4 /* runtime */
            ldc "tried to flatten recursive array"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        19: .line 3144
      StackMap locals:
      StackMap stack:
            aload 5 /* stack */
            ifnonnull 20
            new java.util.ArrayList
            dup
            bipush 8
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* stack */
        20: .line 3145
      StackMap locals:
      StackMap stack:
            aload 5 /* stack */
            aload 7 /* ary */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
            aload 5 /* stack */
            iload 8 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 3146
            aload 10 /* tmp */
            checkcast org.jruby.RubyArray
            astore 7 /* ary */
        22: .line 3147
            aload 6 /* memo */
            aload 7 /* ary */
            getstatic org.jruby.RubyArray.NEVER:Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.util.IdentityHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 3148
            iconst_0
            istore 8 /* i */
        end local 10 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 9 // org.jruby.runtime.builtin.IRubyObject elt
        24: .line 3130
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            aload 7 /* ary */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 7
        25: .line 3151
            aload 5 /* stack */
            ifnull 33
            aload 5 /* stack */
            invokevirtual java.util.ArrayList.size:()I
            ifne 26
            goto 33
        26: .line 3152
      StackMap locals:
      StackMap stack:
            aload 6 /* memo */
            aload 7 /* ary */
            invokevirtual java.util.IdentityHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 3153
            aload 5 /* stack */
            invokevirtual java.util.ArrayList.size:()I
            istore 9 /* s */
        start local 9 // int s
        28: .line 3154
            aload 5 /* stack */
            iload 9 /* s */
            iconst_1
            isub
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 8 /* i */
        29: .line 3155
            aload 5 /* stack */
            iload 9 /* s */
            iconst_2
            isub
            invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
            checkcast org.jruby.RubyArray
            astore 7 /* ary */
        end local 9 // int s
        30: .line 3129
            goto 24
        31: .line 3157
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 9 /* ex */
        start local 9 // java.lang.ArrayIndexOutOfBoundsException ex
        32: .line 3158
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 9 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 9 // java.lang.ArrayIndexOutOfBoundsException ex
        33: .line 3160
      StackMap locals:
      StackMap stack:
            aload 5 /* stack */
            ifnull 34
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        34: iconst_0
            ireturn
        end local 8 // int i
        end local 7 // org.jruby.RubyArray ary
        end local 6 // java.util.IdentityHashMap memo
        end local 5 // java.util.ArrayList stack
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.RubyArray result
        end local 2 // int level
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   35     0     this  Lorg/jruby/RubyArray<TT;>;
            0   35     1  context  Lorg/jruby/runtime/ThreadContext;
            0   35     2    level  I
            0   35     3   result  Lorg/jruby/RubyArray;
            2   35     4  runtime  Lorg/jruby/Ruby;
            3   35     5    stack  Ljava/util/ArrayList<Ljava/lang/Object;>;
            4   35     6     memo  Ljava/util/IdentityHashMap<Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;>;
            5   35     7      ary  Lorg/jruby/RubyArray;
            6   35     8        i  I
            8   24     9      elt  Lorg/jruby/runtime/builtin/IRubyObject;
           14   24    10      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
           28   30     9        s  I
           32   33     9       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           6    31      31  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      context  
      level    final
      result   final

  public org.jruby.runtime.builtin.IRubyObject flatten_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3165
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 3166
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         2: .line 3168
            new org.jruby.RubyArray
            dup
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getType:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)V
            astore 2 /* result */
        start local 2 // org.jruby.RubyArray result
         3: .line 3169
            aload 0 /* this */
            aload 1 /* context */
            iconst_m1
            aload 2 /* result */
            invokevirtual org.jruby.RubyArray.flatten:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/RubyArray;)Z
            ifeq 10
         4: .line 3170
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         5: .line 3171
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         6: .line 3172
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         7: .line 3173
            aload 0 /* this */
            aload 2 /* result */
            getfield org.jruby.RubyArray.realLength:I
            putfield org.jruby.RubyArray.realLength:I
         8: .line 3174
            aload 0 /* this */
            aload 2 /* result */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         9: .line 3175
            aload 0 /* this */
            areturn
        10: .line 3177
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyArray<TT;>;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            3   11     2   result  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"flatten!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject flatten_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 3182
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 3183
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         2: .line 3185
            aload 2 /* arg */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 3 /* level */
        start local 3 // int level
         3: .line 3186
            iload 3 /* level */
            ifne 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 3188
      StackMap locals: int
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getType:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)V
            astore 4 /* result */
        start local 4 // org.jruby.RubyArray result
         5: .line 3189
            aload 0 /* this */
            aload 1 /* context */
            iload 3 /* level */
            aload 4 /* result */
            invokevirtual org.jruby.RubyArray.flatten:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/RubyArray;)Z
            ifeq 11
         6: .line 3190
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.isShared:Z
         7: .line 3191
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         8: .line 3192
            aload 0 /* this */
            aload 4 /* result */
            getfield org.jruby.RubyArray.realLength:I
            putfield org.jruby.RubyArray.realLength:I
         9: .line 3193
            aload 0 /* this */
            aload 4 /* result */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
        10: .line 3194
            aload 0 /* this */
            areturn
        11: .line 3196
      StackMap locals: org.jruby.RubyArray
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyArray result
        end local 3 // int level
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/jruby/RubyArray<TT;>;
            0   12     1  context  Lorg/jruby/runtime/ThreadContext;
            0   12     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            3   12     3    level  I
            5   12     4   result  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"flatten!"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject flatten_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 3201
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyArray.flatten_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject flatten(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3206
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 3208
            new org.jruby.RubyArray
            dup
            aload 2 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getType:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)V
            astore 3 /* result */
        start local 3 // org.jruby.RubyArray result
         2: .line 3209
            aload 0 /* this */
            aload 1 /* context */
            iconst_m1
            aload 3 /* result */
            invokevirtual org.jruby.RubyArray.flatten:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/RubyArray;)Z
            pop
         3: .line 3210
            aload 3 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         4: .line 3211
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            1    5     2  runtime  Lorg/jruby/Ruby;
            2    5     3   result  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"flatten"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject flatten(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 3216
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3217
            aload 2 /* arg */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 4 /* level */
        start local 4 // int level
         2: .line 3218
            iload 4 /* level */
            ifne 3
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.makeShared:()Lorg/jruby/RubyArray;
            areturn
         3: .line 3220
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 3 /* runtime */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getType:()Lorg/jruby/RubyClass;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)V
            astore 5 /* result */
        start local 5 // org.jruby.RubyArray result
         4: .line 3221
            aload 0 /* this */
            aload 1 /* context */
            iload 4 /* level */
            aload 5 /* result */
            invokevirtual org.jruby.RubyArray.flatten:(Lorg/jruby/runtime/ThreadContext;ILorg/jruby/RubyArray;)Z
            pop
         5: .line 3222
            aload 5 /* result */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
         6: .line 3223
            aload 5 /* result */
            areturn
        end local 5 // org.jruby.RubyArray result
        end local 4 // int level
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3  runtime  Lorg/jruby/Ruby;
            2    7     4    level  I
            4    7     5   result  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"flatten"})
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject flatten19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3228
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.flatten:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject flatten19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 3233
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* arg */
            invokevirtual org.jruby.RubyArray.flatten:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      arg      

  public org.jruby.runtime.builtin.IRubyObject count(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3238
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 8
         1: .line 3239
            iconst_0
            istore 3 /* n */
        start local 3 // int n
         2: .line 3240
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 3241
      StackMap locals: int int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 5
            iinc 3 /* n */ 1
         5: .line 3240
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
        end local 4 // int i
         7: .line 3243
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* n */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 3 // int n
         8: .line 3245
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2    block  Lorg/jruby/runtime/Block;
            2    8     3        n  I
            3    7     4        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"count"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject count(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
        start local 3 // org.jruby.runtime.Block block
         0: .line 3251
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getWarnings:()Lorg/jruby/common/RubyWarnings;
            getstatic org.jruby.common.IRubyWarnings$ID.BLOCK_UNUSED:Lorg/jruby/common/IRubyWarnings$ID;
            ldc "given block not used"
            invokevirtual org.jruby.common.RubyWarnings.warn:(Lorg/jruby/common/IRubyWarnings$ID;Ljava/lang/String;)V
         1: .line 3253
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* n */
        start local 4 // int n
         2: .line 3254
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 3255
      StackMap locals: int int
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* obj */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 5
            iinc 4 /* n */ 1
         5: .line 3254
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
        end local 5 // int i
         7: .line 3257
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 4 /* n */
            i2l
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            areturn
        end local 4 // int n
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3    block  Lorg/jruby/runtime/Block;
            2    8     4        n  I
            3    7     5        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"count"})
    MethodParameters:
         Name  Flags
      context  
      obj      
      block    

  public org.jruby.runtime.builtin.IRubyObject nitems();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 3265
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         1: .line 3267
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 3268
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 4
            iinc 1 /* n */ 1
         4: .line 3267
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 2 // int i
         6: .line 3271
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            iload 1 /* n */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
        end local 1 // int n
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyArray<TT;>;
            1    7     1     n  I
            2    6     2     i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"nitems"})

  public org.jruby.runtime.builtin.IRubyObject op_plus(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 3279
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 3280
            aload 1 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 3 /* y */
        start local 3 // org.jruby.RubyArray y
         2: .line 3281
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            aload 3 /* y */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            istore 4 /* len */
        start local 4 // int len
         3: .line 3283
            iload 4 /* len */
            tableswitch { // 1 - 2
                    1: 4
                    2: 7
              default: 11
          }
         4: .line 3285
      StackMap locals: org.jruby.Ruby org.jruby.RubyArray int
      StackMap stack:
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 2 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmpne 5
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 6
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyArray int
      StackMap stack: new 4 new 4 org.jruby.Ruby
         5: aload 3 /* y */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyArray int
      StackMap stack: new 4 new 4 org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject
         6: invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         7: .line 3287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            tableswitch { // 0 - 2
                    0: 8
                    1: 9
                    2: 10
              default: 11
          }
         8: .line 3289
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 3 /* y */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* y */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
         9: .line 3291
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* y */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        10: .line 3293
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        11: .line 3297
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            iload 4 /* len */
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 5 /* z */
        start local 5 // org.jruby.RubyArray z
        12: .line 3299
            aload 0 /* this */
            aload 5 /* z */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iconst_0
            invokevirtual org.jruby.RubyArray.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;I)V
        13: .line 3300
            aload 3 /* y */
            aload 5 /* z */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;I)V
        14: .line 3301
            goto 17
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyArray int org.jruby.RubyArray
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        15: astore 6 /* e */
        start local 6 // java.lang.ArrayIndexOutOfBoundsException e
        16: .line 3302
            aload 2 /* runtime */
            aload 6 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.ArrayIndexOutOfBoundsException e
        17: .line 3304
      StackMap locals:
      StackMap stack:
            aload 5 /* z */
            iload 4 /* len */
            putfield org.jruby.RubyArray.realLength:I
        18: .line 3305
            aload 5 /* z */
            areturn
        end local 5 // org.jruby.RubyArray z
        end local 4 // int len
        end local 3 // org.jruby.RubyArray y
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject obj
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/jruby/RubyArray<TT;>;
            0   19     1      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            1   19     2  runtime  Lorg/jruby/Ruby;
            2   19     3        y  Lorg/jruby/RubyArray;
            3   19     4      len  I
           12   19     5        z  Lorg/jruby/RubyArray;
           16   17     6        e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          12    14      15  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"+"}, required = 1)
    MethodParameters:
      Name  Flags
      obj   

  public org.jruby.runtime.builtin.IRubyObject op_times(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject times
         0: .line 3313
            aload 2 /* times */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkStringType:()Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* tmp */
        start local 3 // org.jruby.runtime.builtin.IRubyObject tmp
         1: .line 3315
            aload 3 /* tmp */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* tmp */
            invokevirtual org.jruby.RubyArray.join19:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3317
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* times */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 4 /* len */
        start local 4 // long len
         3: .line 3318
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 6 /* runtime */
        start local 6 // org.jruby.Ruby runtime
         4: .line 3319
            lload 4 /* len */
            lconst_0
            lcmp
            ifne 5
            new org.jruby.RubyArray
            dup
            aload 6 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;[Lorg/jruby/runtime/builtin/IRubyObject;)V
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            areturn
         5: .line 3320
      StackMap locals: long org.jruby.Ruby
      StackMap stack:
            lload 4 /* len */
            lconst_0
            lcmp
            ifge 6
            aload 6 /* runtime */
            ldc "negative argument"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 3322
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            lload 4 /* len */
            ldiv
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lcmp
            ifge 8
         7: .line 3323
            aload 6 /* runtime */
            ldc "argument too big"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 3326
      StackMap locals:
      StackMap stack:
            lload 4 /* len */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            lmul
            lstore 4 /* len */
         9: .line 3328
            aload 6 /* runtime */
            lload 4 /* len */
            invokestatic org.jruby.RubyArray.checkLength:(Lorg/jruby/Ruby;J)V
        10: .line 3329
            new org.jruby.RubyArray
            dup
            aload 6 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            lload 4 /* len */
            l2i
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)V
            astore 7 /* ary2 */
        start local 7 // org.jruby.RubyArray ary2
        11: .line 3330
            aload 7 /* ary2 */
            aload 7 /* ary2 */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            putfield org.jruby.RubyArray.realLength:I
        12: .line 3333
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        13: goto 16
        14: .line 3334
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* ary2 */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 8 /* i */
            invokevirtual org.jruby.RubyArray.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;I)V
        15: .line 3333
            iload 8 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            istore 8 /* i */
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            i2l
            lload 4 /* len */
            lcmp
            iflt 14
        end local 8 // int i
        17: .line 3336
            goto 20
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject long org.jruby.Ruby org.jruby.RubyArray
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        18: astore 8 /* e */
        start local 8 // java.lang.ArrayIndexOutOfBoundsException e
        19: .line 3337
            aload 6 /* runtime */
            aload 8 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 8 // java.lang.ArrayIndexOutOfBoundsException e
        20: .line 3340
      StackMap locals:
      StackMap stack:
            aload 7 /* ary2 */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.infectBy:(Lorg/jruby/RubyBasicObject;)Lorg/jruby/RubyBasicObject;
            pop
        21: .line 3342
            aload 7 /* ary2 */
            areturn
        end local 7 // org.jruby.RubyArray ary2
        end local 6 // org.jruby.Ruby runtime
        end local 4 // long len
        end local 3 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 2 // org.jruby.runtime.builtin.IRubyObject times
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lorg/jruby/RubyArray<TT;>;
            0   22     1  context  Lorg/jruby/runtime/ThreadContext;
            0   22     2    times  Lorg/jruby/runtime/builtin/IRubyObject;
            1   22     3      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            3   22     4      len  J
            4   22     6  runtime  Lorg/jruby/Ruby;
           11   22     7     ary2  Lorg/jruby/RubyArray;
           13   17     8        i  I
           19   20     8        e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          12    17      18  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"*"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      times    

  public org.jruby.runtime.builtin.IRubyObject op_times19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject times
         0: .line 3347
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* times */
            invokevirtual org.jruby.RubyArray.op_times:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject times
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    times  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      times    

  private org.jruby.RubyHash makeHash(org.jruby.Ruby);
    descriptor: (Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.Ruby runtime
         0: .line 3354
            aload 0 /* this */
            new org.jruby.RubyHash
            dup
            aload 1 /* runtime */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            sipush 128
            invokestatic java.lang.Math.min:(II)I
            iconst_0
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;IZ)V
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/RubyHash;)Lorg/jruby/RubyHash;
            areturn
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  runtime  Lorg/jruby/Ruby;
    MethodParameters:
         Name  Flags
      runtime  

  private org.jruby.RubyHash makeHash(org.jruby.RubyHash);
    descriptor: (Lorg/jruby/RubyHash;)Lorg/jruby/RubyHash;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.RubyHash hash
         0: .line 3358
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 3359
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* v */
        start local 3 // org.jruby.runtime.builtin.IRubyObject v
         3: .line 3360
            aload 1 /* hash */
            aload 3 /* v */
            aload 3 /* v */
            invokevirtual org.jruby.RubyHash.internalPutIfNoKey:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            pop
        end local 3 // org.jruby.runtime.builtin.IRubyObject v
         4: .line 3358
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 2
        end local 2 // int i
         6: .line 3362
            aload 1 /* hash */
            areturn
        end local 1 // org.jruby.RubyHash hash
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  hash  Lorg/jruby/RubyHash;
            1    6     2     i  I
            3    4     3     v  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      hash  

  private org.jruby.RubyHash makeHash(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3366
            aload 0 /* this */
            aload 1 /* context */
            new org.jruby.RubyHash
            dup
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            sipush 128
            invokestatic java.lang.Math.min:(II)I
            iconst_0
            invokespecial org.jruby.RubyHash.<init>:(Lorg/jruby/Ruby;IZ)V
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      block    

  private org.jruby.RubyHash makeHash(org.jruby.runtime.ThreadContext, org.jruby.RubyHash, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyHash hash
        start local 3 // org.jruby.runtime.Block block
         0: .line 3370
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 6
         2: .line 3371
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* v */
        start local 5 // org.jruby.runtime.builtin.IRubyObject v
         3: .line 3372
            aload 3 /* block */
            aload 1 /* context */
            aload 5 /* v */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* k */
        start local 6 // org.jruby.runtime.builtin.IRubyObject k
         4: .line 3373
            aload 2 /* hash */
            aload 6 /* k */
            aload 5 /* v */
            invokevirtual org.jruby.RubyHash.internalPutIfNoKey:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            pop
        end local 6 // org.jruby.runtime.builtin.IRubyObject k
        end local 5 // org.jruby.runtime.builtin.IRubyObject v
         5: .line 3370
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 2
        end local 4 // int i
         7: .line 3375
            aload 2 /* hash */
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.RubyHash hash
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2     hash  Lorg/jruby/RubyHash;
            0    8     3    block  Lorg/jruby/runtime/Block;
            1    7     4        i  I
            3    5     5        v  Lorg/jruby/runtime/builtin/IRubyObject;
            4    5     6        k  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      hash     
      block    

  private void setValuesFrom(org.jruby.runtime.ThreadContext, org.jruby.RubyHash);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.RubyHash hash
         0: .line 3380
            aload 2 /* hash */
            aload 1 /* context */
            getstatic org.jruby.RubyHash.SetValueVisitor:Lorg/jruby/RubyHash$VisitorWithState;
            aload 0 /* this */
            invokevirtual org.jruby.RubyHash.visitAll:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash$VisitorWithState;Ljava/lang/Object;)V
         1: .line 3381
            goto 4
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         2: astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 3382
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         4: .line 3384
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.jruby.RubyHash hash
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2     hash  Lorg/jruby/RubyHash;
            3    4     3       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      context  
      hash     

  private void clearValues(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int from
        start local 2 // int to
         0: .line 3388
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 1 /* from */
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* to */
            iadd
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
         1: .line 3389
            goto 4
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         2: astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 3390
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         4: .line 3392
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int to
        end local 1 // int from
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  from  I
            0    5     2    to  I
            3    4     3    ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
      Name  Flags
      from  final
      to    final

  public org.jruby.runtime.builtin.IRubyObject uniq_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3398
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 2 /* hash */
        start local 2 // org.jruby.RubyHash hash
         1: .line 3399
            aload 2 /* hash */
            getfield org.jruby.RubyHash.size:I
            istore 3 /* newLength */
        start local 3 // int newLength
         2: .line 3400
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 3 /* newLength */
            if_icmpne 3
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 3402
      StackMap locals: org.jruby.RubyHash int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         4: .line 3403
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         5: .line 3405
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* hash */
            invokevirtual org.jruby.RubyArray.setValuesFrom:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
         6: .line 3406
            aload 0 /* this */
            iload 3 /* newLength */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.clearValues:(II)V
         7: .line 3407
            aload 0 /* this */
            iload 3 /* newLength */
            putfield org.jruby.RubyArray.realLength:I
         8: .line 3409
            aload 0 /* this */
            areturn
        end local 3 // int newLength
        end local 2 // org.jruby.RubyHash hash
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/jruby/RubyArray<TT;>;
            0    9     1    context  Lorg/jruby/runtime/ThreadContext;
            1    9     2       hash  Lorg/jruby/RubyHash;
            2    9     3  newLength  I
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject uniq_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3414
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         1: .line 3416
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.uniq_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            astore 3 /* hash */
        start local 3 // org.jruby.RubyHash hash
         3: .line 3419
            aload 3 /* hash */
            getfield org.jruby.RubyHash.size:I
            istore 4 /* newLength */
        start local 4 // int newLength
         4: .line 3420
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 4 /* newLength */
            if_icmpne 5
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 3423
      StackMap locals: org.jruby.RubyHash int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         6: .line 3424
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         7: .line 3426
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* hash */
            invokevirtual org.jruby.RubyArray.setValuesFrom:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
         8: .line 3427
            aload 0 /* this */
            iload 4 /* newLength */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.clearValues:(II)V
         9: .line 3428
            aload 0 /* this */
            iload 4 /* newLength */
            putfield org.jruby.RubyArray.realLength:I
        10: .line 3430
            aload 0 /* this */
            areturn
        end local 4 // int newLength
        end local 3 // org.jruby.RubyHash hash
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/jruby/RubyArray<TT;>;
            0   11     1    context  Lorg/jruby/runtime/ThreadContext;
            0   11     2      block  Lorg/jruby/runtime/Block;
            3   11     3       hash  Lorg/jruby/RubyHash;
            4   11     4  newLength  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"uniq!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject uniq_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3435
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.uniq_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject uniq(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3442
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 2 /* hash */
        start local 2 // org.jruby.RubyHash hash
         1: .line 3443
            aload 2 /* hash */
            getfield org.jruby.RubyHash.size:I
            istore 3 /* newLength */
        start local 3 // int newLength
         2: .line 3444
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 3 /* newLength */
            if_icmpne 3
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.makeShared:()Lorg/jruby/RubyArray;
            areturn
         3: .line 3446
      StackMap locals: org.jruby.RubyHash int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            iload 3 /* newLength */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)Lorg/jruby/RubyArray;
            astore 4 /* result */
        start local 4 // org.jruby.RubyArray result
         4: .line 3447
            aload 4 /* result */
            aload 1 /* context */
            aload 2 /* hash */
            invokevirtual org.jruby.RubyArray.setValuesFrom:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
         5: .line 3448
            aload 4 /* result */
            iload 3 /* newLength */
            putfield org.jruby.RubyArray.realLength:I
         6: .line 3449
            aload 4 /* result */
            areturn
        end local 4 // org.jruby.RubyArray result
        end local 3 // int newLength
        end local 2 // org.jruby.RubyHash hash
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/jruby/RubyArray<TT;>;
            0    7     1    context  Lorg/jruby/runtime/ThreadContext;
            1    7     2       hash  Lorg/jruby/RubyHash;
            2    7     3  newLength  I
            4    7     4     result  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject uniq(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3454
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.uniq:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 3455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyHash;
            astore 3 /* hash */
        start local 3 // org.jruby.RubyHash hash
         2: .line 3456
            aload 3 /* hash */
            getfield org.jruby.RubyHash.size:I
            istore 4 /* newLength */
        start local 4 // int newLength
         3: .line 3457
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 4 /* newLength */
            if_icmpne 4
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.makeShared:()Lorg/jruby/RubyArray;
            areturn
         4: .line 3459
      StackMap locals: org.jruby.RubyHash int
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            iload 4 /* newLength */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)Lorg/jruby/RubyArray;
            astore 5 /* result */
        start local 5 // org.jruby.RubyArray result
         5: .line 3460
            aload 5 /* result */
            aload 1 /* context */
            aload 3 /* hash */
            invokevirtual org.jruby.RubyArray.setValuesFrom:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
         6: .line 3461
            aload 5 /* result */
            iload 4 /* newLength */
            putfield org.jruby.RubyArray.realLength:I
         7: .line 3462
            aload 5 /* result */
            areturn
        end local 5 // org.jruby.RubyArray result
        end local 4 // int newLength
        end local 3 // org.jruby.RubyHash hash
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/jruby/RubyArray<TT;>;
            0    8     1    context  Lorg/jruby/runtime/ThreadContext;
            0    8     2      block  Lorg/jruby/runtime/Block;
            2    8     3       hash  Lorg/jruby/RubyHash;
            3    8     4  newLength  I
            5    8     5     result  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"uniq"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject uniq19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3467
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.uniq:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject op_diff(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 3475
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 3477
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 3 /* len */
        start local 3 // int len
         2: .line 3478
            aload 2 /* runtime */
            iload 3 /* len */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 4 /* res */
        start local 4 // org.jruby.RubyArray res
         3: .line 3480
            iconst_0
            istore 5 /* index */
        start local 5 // int index
         4: .line 3481
            aload 1 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            aload 2 /* runtime */
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 6 /* hash */
        start local 6 // org.jruby.RubyHash hash
         5: .line 3482
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 10
         7: .line 3483
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int org.jruby.RubyArray int org.jruby.RubyHash int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 8 /* val */
        start local 8 // org.jruby.runtime.builtin.IRubyObject val
         8: .line 3484
            aload 6 /* hash */
            aload 8 /* val */
            invokevirtual org.jruby.RubyHash.fastARef:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            ifnonnull 9
            aload 4 /* res */
            iload 5 /* index */
            iinc 5 /* index */ 1
            aload 8 /* val */
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
        end local 8 // org.jruby.runtime.builtin.IRubyObject val
         9: .line 3482
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 7 /* i */
            iload 3 /* len */
            if_icmplt 7
        end local 7 // int i
        11: .line 3488
            iload 5 /* index */
            ifne 12
            aload 2 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
        12: .line 3489
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            iconst_1
            if_icmpne 13
            iload 3 /* len */
            iconst_2
            if_icmpne 13
            aload 2 /* runtime */
            aload 4 /* res */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        13: .line 3491
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 14
            iload 5 /* index */
            aload 4 /* res */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 3492
      StackMap locals:
      StackMap stack:
            aload 4 /* res */
            instanceof org.jruby.specialized.RubyArraySpecialized
            ifne 16
        15: .line 3493
            aload 4 /* res */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 5 /* index */
            aload 4 /* res */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 2 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        16: .line 3496
      StackMap locals:
      StackMap stack:
            aload 4 /* res */
            areturn
        end local 6 // org.jruby.RubyHash hash
        end local 5 // int index
        end local 4 // org.jruby.RubyArray res
        end local 3 // int len
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/jruby/RubyArray<TT;>;
            0   17     1    other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   17     2  runtime  Lorg/jruby/Ruby;
            2   17     3      len  I
            3   17     4      res  Lorg/jruby/RubyArray;
            4   17     5    index  I
            5   17     6     hash  Lorg/jruby/RubyHash;
            6   11     7        i  I
            8    9     8      val  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"-"}, required = 1)
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.runtime.builtin.IRubyObject op_and(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 3504
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 3506
            aload 1 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 3 /* ary2 */
        start local 3 // org.jruby.RubyArray ary2
         2: .line 3508
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* len */
        start local 4 // int len
         3: .line 3509
            iload 4 /* len */
            aload 3 /* ary2 */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpge 4
            iload 4 /* len */
            goto 5
      StackMap locals: org.jruby.Ruby org.jruby.RubyArray int
      StackMap stack:
         4: aload 3 /* ary2 */
            getfield org.jruby.RubyArray.realLength:I
      StackMap locals:
      StackMap stack: int
         5: istore 5 /* maxSize */
        start local 5 // int maxSize
         6: .line 3511
            iload 5 /* maxSize */
            tableswitch { // 0 - 1
                    0: 7
                    1: 8
              default: 10
          }
         7: .line 3513
      StackMap locals: int
      StackMap stack:
            aload 2 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         8: .line 3515
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            ifeq 9
            aload 3 /* ary2 */
            getfield org.jruby.RubyArray.realLength:I
            ifne 10
      StackMap locals:
      StackMap stack:
         9: aload 2 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
        10: .line 3517
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            iload 5 /* maxSize */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 6 /* res */
        start local 6 // org.jruby.RubyArray res
        11: .line 3521
            iconst_0
            istore 7 /* index */
        start local 7 // int index
        12: .line 3522
            aload 3 /* ary2 */
            aload 2 /* runtime */
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            astore 8 /* hash */
        start local 8 // org.jruby.RubyHash hash
        13: .line 3523
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        14: goto 18
        15: .line 3524
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.RubyArray int int org.jruby.RubyArray int org.jruby.RubyHash int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* val */
        start local 10 // org.jruby.runtime.builtin.IRubyObject val
        16: .line 3525
            aload 8 /* hash */
            aload 10 /* val */
            invokevirtual org.jruby.RubyHash.fastDelete:(Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 17
            aload 6 /* res */
            iload 7 /* index */
            iinc 7 /* index */ 1
            aload 10 /* val */
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
        end local 10 // org.jruby.runtime.builtin.IRubyObject val
        17: .line 3523
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* i */
            iload 4 /* len */
            if_icmplt 15
        end local 9 // int i
        19: .line 3529
            iload 7 /* index */
            ifne 20
            aload 2 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
        20: .line 3530
      StackMap locals:
      StackMap stack:
            iload 7 /* index */
            iconst_1
            if_icmpne 21
            iload 5 /* maxSize */
            iconst_2
            if_icmpne 21
            aload 2 /* runtime */
            aload 6 /* res */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        21: .line 3532
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 22
            iload 7 /* index */
            aload 6 /* res */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpeq 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 3533
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            instanceof org.jruby.specialized.RubyArraySpecialized
            ifne 24
        23: .line 3534
            aload 6 /* res */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 7 /* index */
            aload 6 /* res */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 2 /* runtime */
            invokestatic org.jruby.runtime.Helpers.fillNil:([Lorg/jruby/runtime/builtin/IRubyObject;IILorg/jruby/Ruby;)V
        24: .line 3537
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            areturn
        end local 8 // org.jruby.RubyHash hash
        end local 7 // int index
        end local 6 // org.jruby.RubyArray res
        end local 5 // int maxSize
        end local 4 // int len
        end local 3 // org.jruby.RubyArray ary2
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lorg/jruby/RubyArray<TT;>;
            0   25     1    other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   25     2  runtime  Lorg/jruby/Ruby;
            2   25     3     ary2  Lorg/jruby/RubyArray;
            3   25     4      len  I
            6   25     5  maxSize  I
           11   25     6      res  Lorg/jruby/RubyArray;
           12   25     7    index  I
           13   25     8     hash  Lorg/jruby/RubyHash;
           14   19     9        i  I
           16   17    10      val  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"&"}, required = 1)
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.runtime.builtin.IRubyObject op_or(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject other
         0: .line 3545
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 3546
            aload 1 /* other */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 3 /* ary2 */
        start local 3 // org.jruby.RubyArray ary2
         2: .line 3548
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            aload 3 /* ary2 */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            istore 4 /* maxSize */
        start local 4 // int maxSize
         3: .line 3549
            iload 4 /* maxSize */
            ifne 4
            aload 2 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         4: .line 3551
      StackMap locals: org.jruby.Ruby org.jruby.RubyArray int
      StackMap stack:
            aload 3 /* ary2 */
            aload 0 /* this */
            aload 2 /* runtime */
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/Ruby;)Lorg/jruby/RubyHash;
            invokevirtual org.jruby.RubyArray.makeHash:(Lorg/jruby/RubyHash;)Lorg/jruby/RubyHash;
            astore 5 /* set */
        start local 5 // org.jruby.RubyHash set
         5: .line 3552
            aload 2 /* runtime */
            aload 5 /* set */
            getfield org.jruby.RubyHash.size:I
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 6 /* res */
        start local 6 // org.jruby.RubyArray res
         6: .line 3553
            aload 6 /* res */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 5 /* set */
            invokevirtual org.jruby.RubyArray.setValuesFrom:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;)V
         7: .line 3554
            aload 6 /* res */
            aload 5 /* set */
            getfield org.jruby.RubyHash.size:I
            putfield org.jruby.RubyArray.realLength:I
         8: .line 3556
            aload 6 /* res */
            getfield org.jruby.RubyArray.realLength:I
            istore 7 /* index */
        start local 7 // int index
         9: .line 3558
            iload 7 /* index */
            iconst_1
            if_icmpne 10
            iload 4 /* maxSize */
            iconst_2
            if_icmpne 10
            aload 2 /* runtime */
            aload 6 /* res */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            areturn
        10: .line 3560
      StackMap locals: org.jruby.RubyHash org.jruby.RubyArray int
      StackMap stack:
            aload 6 /* res */
            areturn
        end local 7 // int index
        end local 6 // org.jruby.RubyArray res
        end local 5 // org.jruby.RubyHash set
        end local 4 // int maxSize
        end local 3 // org.jruby.RubyArray ary2
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.builtin.IRubyObject other
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyArray<TT;>;
            0   11     1    other  Lorg/jruby/runtime/builtin/IRubyObject;
            1   11     2  runtime  Lorg/jruby/Ruby;
            2   11     3     ary2  Lorg/jruby/RubyArray;
            3   11     4  maxSize  I
            5   11     5      set  Lorg/jruby/RubyHash;
            6   11     6      res  Lorg/jruby/RubyArray;
            9   11     7    index  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"|"}, required = 1)
    MethodParameters:
       Name  Flags
      other  

  public org.jruby.RubyArray sort(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3568
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            astore 3 /* ary */
        start local 3 // org.jruby.RubyArray ary
         1: .line 3569
            aload 3 /* ary */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.sort_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 3570
            aload 3 /* ary */
            areturn
        end local 3 // org.jruby.RubyArray ary
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
            1    3     3      ary  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sort"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.RubyArray sort19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3575
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.sort:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject sort_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3583
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         1: .line 3584
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmple 5
         2: .line 3585
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 3
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.sortInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            aload 1 /* context */
            iconst_1
            invokevirtual org.jruby.RubyArray.sortInternal:(Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         4: areturn
         5: .line 3587
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  context  Lorg/jruby/runtime/ThreadContext;
            0    6     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sort!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject sort_bang19(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3592
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.sort_bang:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      block    

  protected org.jruby.runtime.builtin.IRubyObject sortInternal(org.jruby.runtime.ThreadContext, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Z)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // boolean honorOverride
         0: .line 3597
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            new org.jruby.RubyArray$5
            dup
            aload 0 /* this */
            aload 1 /* context */
            iload 2 /* honorOverride */
            invokespecial org.jruby.RubyArray$5.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;Z)V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         1: .line 3604
            goto 4
         2: .line 3605
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 3606
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         4: .line 3608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // boolean honorOverride
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/jruby/RubyArray<TT;>;
            0    5     1        context  Lorg/jruby/runtime/ThreadContext;
            0    5     2  honorOverride  Z
            3    4     3             ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
               Name  Flags
      context        final
      honorOverride  final

  protected static int compareFixnums(org.jruby.RubyFixnum, org.jruby.RubyFixnum);
    descriptor: (Lorg/jruby/RubyFixnum;Lorg/jruby/RubyFixnum;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyFixnum o1
        start local 1 // org.jruby.RubyFixnum o2
         0: .line 3613
            aload 0 /* o1 */
            aload 1 /* o2 */
            invokestatic org.jruby.RubyArray$DefaultComparator.compareInteger:(Lorg/jruby/RubyFixnum;Lorg/jruby/RubyFixnum;)I
            ireturn
        end local 1 // org.jruby.RubyFixnum o2
        end local 0 // org.jruby.RubyFixnum o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    o1  Lorg/jruby/RubyFixnum;
            0    1     1    o2  Lorg/jruby/RubyFixnum;
    MethodParameters:
      Name  Flags
      o1    
      o2    

  protected static int compareOthers(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject o1
        start local 2 // org.jruby.runtime.builtin.IRubyObject o2
         0: .line 3618
            aload 0 /* context */
            aload 1 /* o1 */
            aload 2 /* o2 */
            invokestatic org.jruby.RubyArray$DefaultComparator.compareGeneric:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
            ireturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject o2
        end local 1 // org.jruby.runtime.builtin.IRubyObject o1
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1       o1  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2       o2  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      o1       
      o2       

  protected org.jruby.runtime.builtin.IRubyObject sortInternal(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=7, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3728
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 3729
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* newValues */
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] newValues
         2: .line 3730
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* length */
        start local 4 // int length
         3: .line 3732
            aload 0 /* this */
            aload 3 /* newValues */
            iconst_0
            invokevirtual org.jruby.RubyArray.copyInto:([Lorg/jruby/runtime/builtin/IRubyObject;I)V
         4: .line 3733
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.op_gt_sort:Lorg/jruby/runtime/CallSite;
            astore 5 /* gt */
        start local 5 // org.jruby.runtime.CallSite gt
         5: .line 3734
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.op_lt_sort:Lorg/jruby/runtime/CallSite;
            astore 6 /* lt */
        start local 6 // org.jruby.runtime.CallSite lt
         6: .line 3735
            aload 3 /* newValues */
            iconst_0
            iload 4 /* length */
            new org.jruby.RubyArray$6
            dup
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            aload 5 /* gt */
            aload 6 /* lt */
            invokespecial org.jruby.RubyArray$6.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)V
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;IILjava/util/Comparator;)V
         7: .line 3744
            aload 0 /* this */
            aload 3 /* newValues */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         8: .line 3745
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
         9: .line 3746
            aload 0 /* this */
            iload 4 /* length */
            putfield org.jruby.RubyArray.realLength:I
        10: .line 3747
            aload 0 /* this */
            areturn
        end local 6 // org.jruby.runtime.CallSite lt
        end local 5 // org.jruby.runtime.CallSite gt
        end local 4 // int length
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] newValues
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/jruby/RubyArray<TT;>;
            0   11     1    context  Lorg/jruby/runtime/ThreadContext;
            0   11     2      block  Lorg/jruby/runtime/Block;
            2   11     3  newValues  [Lorg/jruby/runtime/builtin/IRubyObject;
            3   11     4     length  I
            5   11     5         gt  Lorg/jruby/runtime/CallSite;
            6   11     6         lt  Lorg/jruby/runtime/CallSite;
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject sort_by_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3755
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            ldc "sort_by!"
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.enumLengthFn:()Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 3757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modifyCheck:()V
         2: .line 3759
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.sort_by:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* block */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToArray:()Lorg/jruby/RubyArray;
            astore 3 /* sorted */
        start local 3 // org.jruby.RubyArray sorted
         3: .line 3761
            aload 0 /* this */
            aload 3 /* sorted */
            invokevirtual org.jruby.RubyArray.replace:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 3763
            aload 0 /* this */
            areturn
        end local 3 // org.jruby.RubyArray sorted
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2    block  Lorg/jruby/runtime/Block;
            3    5     3   sorted  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sort_by!"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject take(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 3771
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3772
            aload 2 /* n */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 4 /* len */
        start local 4 // long len
         2: .line 3773
            lload 4 /* len */
            lconst_0
            lcmp
            ifge 3
            aload 3 /* runtime */
            ldc "attempt to take negative size"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3775
      StackMap locals: org.jruby.Ruby long
      StackMap stack:
            aload 0 /* this */
            lconst_0
            lload 4 /* len */
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // long len
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     3  runtime  Lorg/jruby/Ruby;
            2    4     4      len  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"take"})
    MethodParameters:
         Name  Flags
      context  
      n        

  public org.jruby.runtime.builtin.IRubyObject take_while(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3783
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3784
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 3 /* runtime */
            aload 0 /* this */
            ldc "take_while"
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3786
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: .line 3787
            goto 6
         4: .line 3788
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 5
            goto 7
         5: .line 3787
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
         7: .line 3790
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lconst_0
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int i
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2    block  Lorg/jruby/runtime/Block;
            1    8     3  runtime  Lorg/jruby/Ruby;
            3    8     4        i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"take_while"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject drop(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject n
         0: .line 3798
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3799
            aload 2 /* n */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 4 /* pos */
        start local 4 // long pos
         2: .line 3800
            lload 4 /* pos */
            lconst_0
            lcmp
            ifge 3
            aload 3 /* runtime */
            ldc "attempt to drop negative size"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 3802
      StackMap locals: org.jruby.Ruby long
      StackMap stack:
            aload 0 /* this */
            lload 4 /* pos */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* result */
        start local 6 // org.jruby.runtime.builtin.IRubyObject result
         4: .line 3803
            aload 6 /* result */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 5
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newEmptyArray:()Lorg/jruby/RubyArray;
            goto 6
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         5: aload 6 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         6: areturn
        end local 6 // org.jruby.runtime.builtin.IRubyObject result
        end local 4 // long pos
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.builtin.IRubyObject n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2        n  Lorg/jruby/runtime/builtin/IRubyObject;
            1    7     3  runtime  Lorg/jruby/Ruby;
            2    7     4      pos  J
            4    7     6   result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"drop"})
    MethodParameters:
         Name  Flags
      context  
      n        

  public org.jruby.runtime.builtin.IRubyObject drop_while(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3811
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 3812
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 3 /* runtime */
            aload 0 /* this */
            ldc "drop_while"
            invokestatic org.jruby.RubyEnumerator.enumeratorize:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3814
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: .line 3815
            goto 6
         4: .line 3816
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 5
            goto 7
         5: .line 3815
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 4
         7: .line 3818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            i2l
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2l
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
         8: .line 3819
            aload 5 /* result */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 9
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.newEmptyArray:()Lorg/jruby/RubyArray;
            goto 10
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         9: aload 5 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        10: areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        end local 4 // int i
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/RubyArray<TT;>;
            0   11     1  context  Lorg/jruby/runtime/ThreadContext;
            0   11     2    block  Lorg/jruby/runtime/Block;
            1   11     3  runtime  Lorg/jruby/Ruby;
            3   11     4        i  I
            8   11     5   result  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"drop_while"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject cycle(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 3827
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            ldc "cycle"
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.cycleSizeFn:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 3828
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            ldc -1
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.cycleCommon:(Lorg/jruby/runtime/ThreadContext;JLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"cycle"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject cycle(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
        start local 3 // org.jruby.runtime.Block block
         0: .line 3836
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.cycle:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 3837
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 1 /* context */
            aload 0 /* this */
            ldc "cycle"
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* arg */
            aastore
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.cycleSizeFn:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3839
      StackMap locals:
      StackMap stack:
            aload 2 /* arg */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 4 /* times */
        start local 4 // long times
         3: .line 3840
            lload 4 /* times */
            lconst_0
            lcmp
            ifgt 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         4: .line 3842
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            lload 4 /* times */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.cycleCommon:(Lorg/jruby/runtime/ThreadContext;JLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // long times
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     3    block  Lorg/jruby/runtime/Block;
            3    5     4    times  J
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"cycle"})
    MethodParameters:
         Name  Flags
      context  
      arg      
      block    

  private org.jruby.runtime.builtin.IRubyObject cycleCommon(org.jruby.runtime.ThreadContext, long, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;JLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // long n
        start local 4 // org.jruby.runtime.Block block
         0: .line 3846
            goto 6
         1: .line 3847
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 5
         3: .line 3848
      StackMap locals: int
      StackMap stack:
            aload 4 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 3847
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 5 // int i
         6: .line 3846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifle 7
            lload 2 /* n */
            lconst_0
            lcmp
            iflt 1
            lconst_0
            lload 2 /* n */
            dup2
            lconst_1
            lsub
            lstore 2 /* n */
            lcmp
            iflt 1
         7: .line 3851
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 2 // long n
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/jruby/RubyArray<TT;>;
            0    8     1  context  Lorg/jruby/runtime/ThreadContext;
            0    8     2        n  J
            0    8     4    block  Lorg/jruby/runtime/Block;
            2    6     5        i  I
    MethodParameters:
         Name  Flags
      context  
      n        
      block    

  private org.jruby.RubyEnumerator$SizeFn cycleSizeFn(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 3855
            new org.jruby.RubyArray$7
            dup
            aload 0 /* this */
            aload 1 /* context */
            invokespecial org.jruby.RubyArray$7.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;)V
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  final

  public org.jruby.runtime.builtin.IRubyObject product(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 3890
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.RubyArray.product:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject product(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=16, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 3895
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 3897
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            istore 5 /* useBlock */
        start local 5 // boolean useBlock
         2: .line 3899
            aload 2 /* args */
            arraylength
            iconst_1
            iadd
            istore 6 /* n */
        start local 6 // int n
         3: .line 3900
            iload 6 /* n */
            anewarray org.jruby.RubyArray
            astore 7 /* arrays */
        start local 7 // org.jruby.RubyArray[] arrays
         4: .line 3901
            iload 6 /* n */
            newarray 10
            astore 8 /* counters */
        start local 8 // int[] counters
         5: .line 3903
            aload 7 /* arrays */
            iconst_0
            aload 0 /* this */
            aastore
         6: .line 3904
            aload 4 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            astore 9 /* array */
        start local 9 // org.jruby.RubyClass array
         7: .line 3905
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.to_ary_checked:Lorg/jruby/runtime/JavaSites$CheckedSites;
            astore 10 /* to_ary_checked */
        start local 10 // org.jruby.runtime.JavaSites$CheckedSites to_ary_checked
         8: .line 3906
            iconst_1
            istore 11 /* i */
        start local 11 // int i
         9: goto 11
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.Block org.jruby.Ruby int int org.jruby.RubyArray[] int[] org.jruby.RubyClass org.jruby.runtime.JavaSites$CheckedSites int
      StackMap stack:
        10: aload 7 /* arrays */
            iload 11 /* i */
            aload 1 /* context */
            aload 2 /* args */
            iload 11 /* i */
            iconst_1
            isub
            aaload
            aload 9 /* array */
            aload 10 /* to_ary_checked */
            invokestatic org.jruby.util.TypeConverter.convertToType:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyClass;Lorg/jruby/runtime/JavaSites$CheckedSites;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            aastore
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 11 /* i */
            iload 6 /* n */
            if_icmplt 10
        end local 11 // int i
        12: .line 3908
            iconst_1
            istore 11 /* resultLen */
        start local 11 // int resultLen
        13: .line 3909
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        14: goto 24
        15: .line 3910
      StackMap locals: int
      StackMap stack:
            aload 7 /* arrays */
            iload 12 /* i */
            aaload
            getfield org.jruby.RubyArray.realLength:I
            istore 13 /* k */
        start local 13 // int k
        16: .line 3911
            iload 11 /* resultLen */
            istore 14 /* l */
        start local 14 // int l
        17: .line 3912
            iload 13 /* k */
            ifne 20
            iload 5 /* useBlock */
            ifeq 18
            aload 0 /* this */
            goto 19
      StackMap locals: int int
      StackMap stack:
        18: aload 4 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        19: areturn
        20: .line 3913
      StackMap locals:
      StackMap stack:
            iload 11 /* resultLen */
            iload 13 /* k */
            imul
            istore 11 /* resultLen */
        21: .line 3914
            iload 11 /* resultLen */
            iload 13 /* k */
            if_icmplt 22
            iload 11 /* resultLen */
            iload 14 /* l */
            if_icmplt 22
            iload 11 /* resultLen */
            iload 13 /* k */
            idiv
            iload 14 /* l */
            if_icmpeq 23
        22: .line 3915
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 23
            aload 4 /* runtime */
            ldc "too big to product"
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 14 // int l
        end local 13 // int k
        23: .line 3909
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 12 /* i */
            iload 6 /* n */
            if_icmplt 15
        end local 12 // int i
        25: .line 3919
            iload 5 /* useBlock */
            ifeq 26
            aconst_null
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 4 /* runtime */
            iload 11 /* resultLen */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        27: astore 12 /* result */
        start local 12 // org.jruby.RubyArray result
        28: .line 3921
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        29: goto 48
        30: .line 3922
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 4 /* runtime */
            iload 6 /* n */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 14 /* sub */
        start local 14 // org.jruby.RubyArray sub
        31: .line 3923
            iconst_0
            istore 15 /* j */
        start local 15 // int j
        32: goto 34
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
        33: aload 14 /* sub */
            iload 15 /* j */
            aload 7 /* arrays */
            iload 15 /* j */
            aaload
            aload 8 /* counters */
            iload 15 /* j */
            iaload
            invokevirtual org.jruby.RubyArray.entry:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        34: iload 15 /* j */
            iload 6 /* n */
            if_icmplt 33
        end local 15 // int j
        35: .line 3924
            aload 14 /* sub */
            iload 6 /* n */
            putfield org.jruby.RubyArray.realLength:I
        36: .line 3926
            iload 5 /* useBlock */
            ifeq 39
        37: .line 3927
            aload 3 /* block */
            aload 1 /* context */
            aload 14 /* sub */
            invokevirtual org.jruby.runtime.Block.yieldSpecific:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        38: .line 3928
            goto 40
        39: .line 3929
      StackMap locals:
      StackMap stack:
            aload 12 /* result */
            iload 13 /* i */
            aload 14 /* sub */
            invokevirtual org.jruby.RubyArray.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        40: .line 3931
      StackMap locals:
      StackMap stack:
            iload 6 /* n */
            iconst_1
            isub
            istore 15 /* m */
        start local 15 // int m
        41: .line 3932
            aload 8 /* counters */
            iload 15 /* m */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        42: .line 3934
            goto 46
        43: .line 3935
      StackMap locals: int
      StackMap stack:
            aload 8 /* counters */
            iload 15 /* m */
            iconst_0
            iastore
        44: .line 3936
            iinc 15 /* m */ -1
        45: .line 3937
            aload 8 /* counters */
            iload 15 /* m */
            dup2
            iaload
            iconst_1
            iadd
            iastore
        46: .line 3934
      StackMap locals:
      StackMap stack:
            iload 15 /* m */
            ifle 47
            aload 8 /* counters */
            iload 15 /* m */
            iaload
            aload 7 /* arrays */
            iload 15 /* m */
            aaload
            getfield org.jruby.RubyArray.realLength:I
            if_icmpeq 43
        end local 15 // int m
        end local 14 // org.jruby.RubyArray sub
        47: .line 3921
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        48: iload 13 /* i */
            iload 11 /* resultLen */
            if_icmplt 30
        end local 13 // int i
        49: .line 3941
            iload 5 /* useBlock */
            ifeq 50
            aload 0 /* this */
            areturn
        50: .line 3942
      StackMap locals:
      StackMap stack:
            aload 12 /* result */
            iload 11 /* resultLen */
            putfield org.jruby.RubyArray.realLength:I
        51: .line 3943
            aload 12 /* result */
            areturn
        end local 12 // org.jruby.RubyArray result
        end local 11 // int resultLen
        end local 10 // org.jruby.runtime.JavaSites$CheckedSites to_ary_checked
        end local 9 // org.jruby.RubyClass array
        end local 8 // int[] counters
        end local 7 // org.jruby.RubyArray[] arrays
        end local 6 // int n
        end local 5 // boolean useBlock
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   52     0            this  Lorg/jruby/RubyArray<TT;>;
            0   52     1         context  Lorg/jruby/runtime/ThreadContext;
            0   52     2            args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   52     3           block  Lorg/jruby/runtime/Block;
            1   52     4         runtime  Lorg/jruby/Ruby;
            2   52     5        useBlock  Z
            3   52     6               n  I
            4   52     7          arrays  [Lorg/jruby/RubyArray;
            5   52     8        counters  [I
            7   52     9           array  Lorg/jruby/RubyClass;
            8   52    10  to_ary_checked  Lorg/jruby/runtime/JavaSites$CheckedSites;
            9   12    11               i  I
           13   52    11       resultLen  I
           14   25    12               i  I
           16   23    13               k  I
           17   23    14               l  I
           28   52    12          result  Lorg/jruby/RubyArray;
           29   49    13               i  I
           31   47    14             sub  Lorg/jruby/RubyArray;
           32   35    15               j  I
           41   47    15               m  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"product"}, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject product19(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 3948
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.product:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  public org.jruby.runtime.builtin.IRubyObject combination(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.Block block
         0: .line 3956
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 3957
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 1 /* context */
            aload 0 /* this */
            ldc "combination"
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* num */
            aastore
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.combinationSize:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 3959
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* num */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* n */
        start local 5 // int n
         3: .line 3961
            iload 5 /* n */
            ifne 6
         4: .line 3962
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         5: .line 3963
            goto 17
      StackMap locals: int
      StackMap stack:
         6: iload 5 /* n */
            iconst_1
            if_icmpne 13
         7: .line 3964
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         8: goto 11
         9: .line 3965
      StackMap locals: int
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 0 /* this */
            iload 6 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        10: .line 3964
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 9
        end local 6 // int i
        12: .line 3967
            goto 17
      StackMap locals:
      StackMap stack:
        13: iload 5 /* n */
            iflt 17
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 5 /* n */
            if_icmplt 17
        14: .line 3968
            iload 5 /* n */
            iconst_1
            iadd
            newarray 10
            astore 6 /* stack */
        start local 6 // int[] stack
        15: .line 3969
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.makeShared:()Lorg/jruby/RubyArray;
            astore 7 /* values */
        start local 7 // org.jruby.RubyArray values
        16: .line 3971
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.size:()I
            iload 5 /* n */
            aload 6 /* stack */
            aload 7 /* values */
            aload 3 /* block */
            invokestatic org.jruby.RubyArray.combinate:(Lorg/jruby/runtime/ThreadContext;II[ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
        end local 7 // org.jruby.RubyArray values
        end local 6 // int[] stack
        17: .line 3974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 5 // int n
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/jruby/RubyArray<TT;>;
            0   18     1  context  Lorg/jruby/runtime/ThreadContext;
            0   18     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0   18     3    block  Lorg/jruby/runtime/Block;
            1   18     4  runtime  Lorg/jruby/Ruby;
            3   18     5        n  I
            8   12     6        i  I
           15   17     6    stack  [I
           16   17     7   values  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"combination"})
    MethodParameters:
         Name  Flags
      context  
      num      
      block    

  private static void combinate(org.jruby.runtime.ThreadContext, int, int, int[], org.jruby.RubyArray, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;II[ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // int len
        start local 2 // int n
        start local 3 // int[] stack
        start local 4 // org.jruby.RubyArray values
        start local 5 // org.jruby.runtime.Block block
         0: .line 3978
            iconst_0
            istore 6 /* lev */
        start local 6 // int lev
         1: .line 3980
            aload 3 /* stack */
            iconst_1
            iconst_1
            iload 2 /* n */
            iadd
            iconst_0
            invokestatic java.util.Arrays.fill:([IIII)V
         2: .line 3981
            aload 3 /* stack */
            iconst_0
            iconst_m1
            iastore
         3: .line 3983
      StackMap locals: int
      StackMap stack:
            iinc 6 /* lev */ 1
            goto 6
         4: .line 3984
      StackMap locals:
      StackMap stack:
            aload 3 /* stack */
            iload 6 /* lev */
            iconst_1
            iadd
            aload 3 /* stack */
            iload 6 /* lev */
            iaload
            iconst_1
            iadd
            iastore
         5: .line 3983
            iinc 6 /* lev */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* lev */
            iload 2 /* n */
            if_icmplt 4
         7: .line 3987
            aload 0 /* context */
            iload 2 /* n */
            aload 3 /* stack */
            iconst_1
            aload 4 /* values */
            aload 5 /* block */
            invokestatic org.jruby.RubyArray.yieldValues:(Lorg/jruby/runtime/ThreadContext;I[IILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
         8: .line 3989
      StackMap locals:
      StackMap stack:
            iload 6 /* lev */
            ifne 9
            return
         9: .line 3990
      StackMap locals:
      StackMap stack:
            aload 3 /* stack */
            iload 6 /* lev */
            iinc 6 /* lev */ -1
            dup2
            iaload
            iconst_1
            iadd
            iastore
        10: .line 3991
            aload 3 /* stack */
            iload 6 /* lev */
            iconst_1
            iadd
            iaload
            iload 2 /* n */
            iadd
            iload 1 /* len */
            iload 6 /* lev */
            iadd
            iconst_1
            iadd
            if_icmpeq 8
        11: .line 3982
            goto 3
        end local 6 // int lev
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray values
        end local 3 // int[] stack
        end local 2 // int n
        end local 1 // int len
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0  context  Lorg/jruby/runtime/ThreadContext;
            0   12     1      len  I
            0   12     2        n  I
            0   12     3    stack  [I
            0   12     4   values  Lorg/jruby/RubyArray;
            0   12     5    block  Lorg/jruby/runtime/Block;
            1   12     6      lev  I
    MethodParameters:
         Name  Flags
      context  
      len      
      n        
      stack    
      values   
      block    

  private static void rcombinate(org.jruby.runtime.ThreadContext, int, int, int[], org.jruby.RubyArray, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;II[ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // int n
        start local 2 // int r
        start local 3 // int[] p
        start local 4 // org.jruby.RubyArray values
        start local 5 // org.jruby.runtime.Block block
         0: .line 3996
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         1: iconst_0
            istore 7 /* index */
        start local 7 // int index
         2: .line 3998
            aload 3 /* p */
            iload 7 /* index */
            iload 6 /* i */
            iastore
         3: .line 4000
      StackMap locals: int int
      StackMap stack:
            iinc 7 /* index */ 1
            iload 7 /* index */
            iload 2 /* r */
            iconst_1
            isub
            if_icmpge 9
         4: .line 4001
            aload 3 /* p */
            iload 7 /* index */
            iload 6 /* i */
            iastore
         5: .line 4002
            goto 3
         6: .line 4005
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            iload 7 /* index */
            iload 6 /* i */
            iastore
         7: .line 4007
            aload 0 /* context */
            iload 2 /* r */
            aload 3 /* p */
            iconst_0
            aload 4 /* values */
            aload 5 /* block */
            invokestatic org.jruby.RubyArray.yieldValues:(Lorg/jruby/runtime/ThreadContext;I[IILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
         8: .line 4004
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            iload 1 /* n */
            if_icmplt 6
        10: .line 4010
      StackMap locals:
      StackMap stack:
            iload 7 /* index */
            ifgt 11
            return
        11: .line 4011
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            iinc 7 /* index */ -1
            iload 7 /* index */
            dup2
            iaload
            iconst_1
            iadd
            dup_x2
            iastore
            dup
            istore 6 /* i */
            iload 1 /* n */
        12: .line 4009
            if_icmpge 10
        13: .line 3999
            goto 3
        end local 7 // int index
        end local 6 // int i
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray values
        end local 3 // int[] p
        end local 2 // int r
        end local 1 // int n
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0  context  Lorg/jruby/runtime/ThreadContext;
            0   14     1        n  I
            0   14     2        r  I
            0   14     3        p  [I
            0   14     4   values  Lorg/jruby/RubyArray;
            0   14     5    block  Lorg/jruby/runtime/Block;
            1   14     6        i  I
            2   14     7    index  I
    MethodParameters:
         Name  Flags
      context  
      n        
      r        
      p        
      values   
      block    

  private org.jruby.RubyEnumerator$SizeFn combinationSize(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4016
            aload 0 /* this */
            astore 2 /* self */
        start local 2 // org.jruby.RubyArray self
         1: .line 4017
            new org.jruby.RubyArray$8
            dup
            aload 0 /* this */
            aload 2 /* self */
            aload 1 /* context */
            invokespecial org.jruby.RubyArray$8.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;)V
            areturn
        end local 2 // org.jruby.RubyArray self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            1    2     2     self  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      context  final

  private static org.jruby.runtime.builtin.IRubyObject binomialCoefficient(org.jruby.runtime.ThreadContext, long, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // long comb
        start local 3 // long size
         0: .line 4030
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 4031
            lload 1 /* comb */
            lload 3 /* size */
            lload 1 /* comb */
            lsub
            lcmp
            ifle 3
         2: .line 4032
            lload 3 /* size */
            lload 1 /* comb */
            lsub
            lstore 1 /* comb */
         3: .line 4035
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            lload 1 /* comb */
            lconst_0
            lcmp
            ifge 5
         4: .line 4036
            aload 5 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            areturn
         5: .line 4039
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            lload 3 /* size */
            lload 1 /* comb */
            invokestatic org.jruby.RubyArray.descendingFactorial:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* r */
        start local 6 // org.jruby.runtime.builtin.IRubyObject r
         6: .line 4040
            aload 0 /* context */
            lload 1 /* comb */
            lload 1 /* comb */
            invokestatic org.jruby.RubyArray.descendingFactorial:(Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* v */
        start local 7 // org.jruby.runtime.builtin.IRubyObject v
         7: .line 4041
            aload 0 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.op_quo:Lorg/jruby/runtime/CallSite;
            aload 0 /* context */
            aload 6 /* r */
            aload 6 /* r */
            aload 7 /* v */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject v
        end local 6 // org.jruby.runtime.builtin.IRubyObject r
        end local 5 // org.jruby.Ruby runtime
        end local 3 // long size
        end local 1 // long comb
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  context  Lorg/jruby/runtime/ThreadContext;
            0    8     1     comb  J
            0    8     3     size  J
            1    8     5  runtime  Lorg/jruby/Ruby;
            6    8     6        r  Lorg/jruby/runtime/builtin/IRubyObject;
            7    8     7        v  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      comb     
      size     

  public org.jruby.runtime.builtin.IRubyObject repeatedCombination(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.Block block
         0: .line 4046
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 4047
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifne 2
            aload 1 /* context */
            aload 0 /* this */
            ldc "repeated_combination"
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* num */
            aastore
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.repeatedCombinationSize:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 4049
      StackMap locals: org.jruby.Ruby
      StackMap stack:
            aload 2 /* num */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* n */
        start local 5 // int n
         3: .line 4051
            iload 5 /* n */
            iflt 17
         4: .line 4053
            iload 5 /* n */
            ifne 7
         5: .line 4054
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         6: .line 4055
            goto 17
      StackMap locals: int
      StackMap stack:
         7: iload 5 /* n */
            iconst_1
            if_icmpne 14
         8: .line 4056
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 4057
      StackMap locals: int
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 0 /* this */
            iload 6 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        11: .line 4056
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 10
        end local 6 // int i
        13: .line 4059
            goto 17
        14: .line 4060
      StackMap locals:
      StackMap stack:
            iload 5 /* n */
            newarray 10
            astore 6 /* p */
        start local 6 // int[] p
        15: .line 4061
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.makeShared:()Lorg/jruby/RubyArray;
            astore 7 /* values */
        start local 7 // org.jruby.RubyArray values
        16: .line 4062
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 5 /* n */
            aload 6 /* p */
            aload 7 /* values */
            aload 3 /* block */
            invokestatic org.jruby.RubyArray.rcombinate:(Lorg/jruby/runtime/ThreadContext;II[ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
        end local 7 // org.jruby.RubyArray values
        end local 6 // int[] p
        17: .line 4065
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 5 // int n
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/jruby/RubyArray<TT;>;
            0   18     1  context  Lorg/jruby/runtime/ThreadContext;
            0   18     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0   18     3    block  Lorg/jruby/runtime/Block;
            1   18     4  runtime  Lorg/jruby/Ruby;
            3   18     5        n  I
            9   13     6        i  I
           15   17     6        p  [I
           16   17     7   values  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"repeated_combination"})
    MethodParameters:
         Name  Flags
      context  
      num      
      block    

  private org.jruby.RubyEnumerator$SizeFn repeatedCombinationSize(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4069
            aload 0 /* this */
            astore 2 /* self */
        start local 2 // org.jruby.RubyArray self
         1: .line 4070
            new org.jruby.RubyArray$9
            dup
            aload 0 /* this */
            aload 2 /* self */
            aload 1 /* context */
            invokespecial org.jruby.RubyArray$9.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;)V
            areturn
        end local 2 // org.jruby.RubyArray self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            1    2     2     self  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      context  final

  private static void permute(org.jruby.runtime.ThreadContext, int, int, int[], boolean[], org.jruby.RubyArray, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;II[I[ZLorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // int n
        start local 2 // int r
        start local 3 // int[] p
        start local 4 // boolean[] used
        start local 5 // org.jruby.RubyArray values
        start local 6 // org.jruby.runtime.Block block
         0: .line 4087
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         1: iconst_0
            istore 8 /* index */
        start local 8 // int index
         2: .line 4089
      StackMap locals: int int
      StackMap stack:
            aload 4 /* used */
            iload 7 /* i */
            iload 1 /* n */
            iload 7 /* i */
            isub
            iconst_0
            invokestatic org.jruby.runtime.Helpers.memchr:([ZIIZ)I
            istore 9 /* unused */
        start local 9 // int unused
         3: .line 4090
            iload 9 /* unused */
            iconst_m1
            if_icmpne 8
         4: .line 4091
            iload 8 /* index */
            ifne 5
            goto 22
         5: .line 4092
      StackMap locals: int
      StackMap stack:
            aload 3 /* p */
            iinc 8 /* index */ -1
            iload 8 /* index */
            iaload
            istore 7 /* i */
         6: .line 4093
            aload 4 /* used */
            iload 7 /* i */
            iinc 7 /* i */ 1
            iconst_0
            bastore
         7: .line 4094
            goto 2
         8: .line 4095
      StackMap locals:
      StackMap stack:
            iload 9 /* unused */
            istore 7 /* i */
         9: .line 4096
            aload 3 /* p */
            iload 8 /* index */
            iload 7 /* i */
            iastore
        10: .line 4097
            aload 4 /* used */
            iload 7 /* i */
            iconst_1
            bastore
        11: .line 4098
            iinc 8 /* index */ 1
        12: .line 4099
            iload 8 /* index */
            iload 2 /* r */
            iconst_1
            isub
            if_icmpge 15
        13: .line 4100
            aload 3 /* p */
            iload 8 /* index */
            iconst_0
            dup
            istore 7 /* i */
            iastore
        14: .line 4101
            goto 2
        15: .line 4103
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
            goto 20
        16: .line 4104
      StackMap locals:
      StackMap stack:
            aload 4 /* used */
            iload 7 /* i */
            baload
            ifeq 17
            goto 19
        17: .line 4105
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            iload 8 /* index */
            iload 7 /* i */
            iastore
        18: .line 4107
            aload 0 /* context */
            iload 2 /* r */
            aload 3 /* p */
            iconst_0
            aload 5 /* values */
            aload 6 /* block */
            invokestatic org.jruby.RubyArray.yieldValues:(Lorg/jruby/runtime/ThreadContext;I[IILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
        19: .line 4103
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            iload 1 /* n */
            if_icmplt 16
        end local 9 // int unused
        21: .line 4088
            goto 2
        22: .line 4111
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int index
        end local 7 // int i
        end local 6 // org.jruby.runtime.Block block
        end local 5 // org.jruby.RubyArray values
        end local 4 // boolean[] used
        end local 3 // int[] p
        end local 2 // int r
        end local 1 // int n
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0  context  Lorg/jruby/runtime/ThreadContext;
            0   23     1        n  I
            0   23     2        r  I
            0   23     3        p  [I
            0   23     4     used  [Z
            0   23     5   values  Lorg/jruby/RubyArray;
            0   23     6    block  Lorg/jruby/runtime/Block;
            1   23     7        i  I
            2   23     8    index  I
            3   21     9   unused  I
    MethodParameters:
         Name  Flags
      context  
      n        
      r        
      p        
      used     
      values   
      block    

  private static void yieldValues(org.jruby.runtime.ThreadContext, int, int[], int, org.jruby.RubyArray, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;I[IILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // int r
        start local 2 // int[] p
        start local 3 // int pStart
        start local 4 // org.jruby.RubyArray values
        start local 5 // org.jruby.runtime.Block block
         0: .line 4114
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 1 /* r */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 6 /* result */
        start local 6 // org.jruby.RubyArray result
         1: .line 4115
            iconst_0
            istore 7 /* j */
        start local 7 // int j
         2: goto 5
         3: .line 4116
      StackMap locals: org.jruby.RubyArray int
      StackMap stack:
            aload 6 /* result */
            iload 7 /* j */
            aload 4 /* values */
            aload 2 /* p */
            iload 7 /* j */
            iload 3 /* pStart */
            iadd
            iaload
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.eltInternalSet:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 4115
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
         5: iload 7 /* j */
            iload 1 /* r */
            if_icmplt 3
        end local 7 // int j
         6: .line 4118
            aload 6 /* result */
            iload 1 /* r */
            putfield org.jruby.RubyArray.realLength:I
         7: .line 4120
            aload 5 /* block */
            aload 0 /* context */
            aload 6 /* result */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         8: .line 4121
            return
        end local 6 // org.jruby.RubyArray result
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray values
        end local 3 // int pStart
        end local 2 // int[] p
        end local 1 // int r
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  context  Lorg/jruby/runtime/ThreadContext;
            0    9     1        r  I
            0    9     2        p  [I
            0    9     3   pStart  I
            0    9     4   values  Lorg/jruby/RubyArray;
            0    9     5    block  Lorg/jruby/runtime/Block;
            1    9     6   result  Lorg/jruby/RubyArray;
            2    6     7        j  I
    MethodParameters:
         Name  Flags
      context  
      r        
      p        
      pStart   
      values   
      block    

  private static void rpermute(org.jruby.runtime.ThreadContext, int, int, int[], org.jruby.RubyArray, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;II[ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // int n
        start local 2 // int r
        start local 3 // int[] p
        start local 4 // org.jruby.RubyArray values
        start local 5 // org.jruby.runtime.Block block
         0: .line 4124
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         1: iconst_0
            istore 7 /* index */
        start local 7 // int index
         2: .line 4126
            aload 3 /* p */
            iload 7 /* index */
            iload 6 /* i */
            iastore
         3: .line 4128
      StackMap locals: int int
      StackMap stack:
            iinc 7 /* index */ 1
            iload 7 /* index */
            iload 2 /* r */
            iconst_1
            isub
            if_icmpge 6
         4: .line 4129
            aload 3 /* p */
            iload 7 /* index */
            iconst_0
            dup
            istore 6 /* i */
            iastore
         5: .line 4130
            goto 3
         6: .line 4132
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
            goto 10
         7: .line 4133
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            iload 7 /* index */
            iload 6 /* i */
            iastore
         8: .line 4135
            aload 0 /* context */
            iload 2 /* r */
            aload 3 /* p */
            iconst_0
            aload 4 /* values */
            aload 5 /* block */
            invokestatic org.jruby.RubyArray.yieldValues:(Lorg/jruby/runtime/ThreadContext;I[IILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
         9: .line 4132
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            iload 1 /* n */
            if_icmplt 7
        11: .line 4138
      StackMap locals:
      StackMap stack:
            iload 7 /* index */
            ifgt 12
            return
        12: .line 4139
      StackMap locals:
      StackMap stack:
            aload 3 /* p */
            iinc 7 /* index */ -1
            iload 7 /* index */
            dup2
            iaload
            iconst_1
            iadd
            dup_x2
            iastore
            dup
            istore 6 /* i */
            iload 1 /* n */
        13: .line 4137
            if_icmpge 11
        14: .line 4127
            goto 3
        end local 7 // int index
        end local 6 // int i
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray values
        end local 3 // int[] p
        end local 2 // int r
        end local 1 // int n
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0  context  Lorg/jruby/runtime/ThreadContext;
            0   15     1        n  I
            0   15     2        r  I
            0   15     3        p  [I
            0   15     4   values  Lorg/jruby/RubyArray;
            0   15     5    block  Lorg/jruby/runtime/Block;
            1   15     6        i  I
            2   15     7    index  I
    MethodParameters:
         Name  Flags
      context  
      n        
      r        
      p        
      values   
      block    

  public org.jruby.runtime.builtin.IRubyObject permutation(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.Block block
         0: .line 4148
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* num */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            iconst_0
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.permutationCommon:(Lorg/jruby/runtime/ThreadContext;IZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "permutation"
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* num */
            aastore
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.permutationSize:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"permutation"})
    MethodParameters:
         Name  Flags
      context  
      num      
      block    

  public org.jruby.runtime.builtin.IRubyObject permutation(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4153
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_0
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.permutationCommon:(Lorg/jruby/runtime/ThreadContext;IZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "permutation"
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.permutationSize:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"permutation"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject repeated_permutation(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.Block block
         0: .line 4158
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* num */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            iconst_1
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.permutationCommon:(Lorg/jruby/runtime/ThreadContext;IZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            aload 0 /* this */
            ldc "repeated_permutation"
            iconst_1
            anewarray org.jruby.runtime.builtin.IRubyObject
            dup
            iconst_0
            aload 2 /* num */
            aastore
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.repeatedPermutationSize:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
            invokestatic org.jruby.RubyEnumerator.enumeratorizeWithSize:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyEnumerator$SizeFn;)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"repeated_permutation"})
    MethodParameters:
         Name  Flags
      context  
      num      
      block    

  private org.jruby.RubyEnumerator$SizeFn repeatedPermutationSize(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4162
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         1: .line 4163
            aload 0 /* this */
            astore 3 /* self */
        start local 3 // org.jruby.RubyArray self
         2: .line 4165
            new org.jruby.RubyArray$10
            dup
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* self */
            aload 2 /* runtime */
            invokespecial org.jruby.RubyArray$10.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/Ruby;)V
            areturn
        end local 3 // org.jruby.RubyArray self
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            1    3     2  runtime  Lorg/jruby/Ruby;
            2    3     3     self  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      context  final

  private org.jruby.runtime.builtin.IRubyObject permutationCommon(org.jruby.runtime.ThreadContext, int, boolean, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;IZLorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=5
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int r
        start local 3 // boolean repeat
        start local 4 // org.jruby.runtime.Block block
         0: .line 4184
            iload 2 /* r */
            ifne 3
         1: .line 4185
            aload 4 /* block */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 4186
            goto 25
      StackMap locals:
      StackMap stack:
         3: iload 2 /* r */
            iconst_1
            if_icmpne 10
         4: .line 4187
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 8
         6: .line 4188
      StackMap locals: int
      StackMap stack:
            aload 4 /* block */
            aload 1 /* context */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         7: .line 4187
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 6
        end local 5 // int i
         9: .line 4190
            goto 25
      StackMap locals:
      StackMap stack:
        10: iload 2 /* r */
            iflt 25
        11: .line 4191
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
        12: .line 4192
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 5 /* n */
        start local 5 // int n
        13: .line 4193
            iload 3 /* repeat */
            ifeq 19
        14: .line 4194
            aload 1 /* context */
            iload 5 /* n */
            iload 2 /* r */
        15: .line 4195
            iload 2 /* r */
            newarray 10
        16: .line 4196
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 5 /* n */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
            aload 4 /* block */
        17: .line 4194
            invokestatic org.jruby.RubyArray.rpermute:(Lorg/jruby/runtime/ThreadContext;II[ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
        18: .line 4197
            goto 25
        19: .line 4198
      StackMap locals: int
      StackMap stack:
            aload 1 /* context */
            iload 5 /* n */
            iload 2 /* r */
        20: .line 4199
            iload 2 /* r */
            newarray 10
        21: .line 4200
            iload 5 /* n */
            newarray 4
        22: .line 4201
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 5 /* n */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            invokevirtual org.jruby.RubyArray.makeShared:(IILorg/jruby/RubyClass;)Lorg/jruby/RubyArray;
        23: .line 4202
            aload 4 /* block */
        24: .line 4198
            invokestatic org.jruby.RubyArray.permute:(Lorg/jruby/runtime/ThreadContext;II[I[ZLorg/jruby/RubyArray;Lorg/jruby/runtime/Block;)V
        end local 5 // int n
        25: .line 4205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // boolean repeat
        end local 2 // int r
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/jruby/RubyArray<TT;>;
            0   26     1  context  Lorg/jruby/runtime/ThreadContext;
            0   26     2        r  I
            0   26     3   repeat  Z
            0   26     4    block  Lorg/jruby/runtime/Block;
            5    9     5        i  I
           13   25     5        n  I
    MethodParameters:
         Name  Flags
      context  
      r        
      repeat   
      block    

  private org.jruby.RubyEnumerator$SizeFn permutationSize(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubyEnumerator$SizeFn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4209
            aload 0 /* this */
            astore 2 /* self */
        start local 2 // org.jruby.RubyArray self
         1: .line 4211
            new org.jruby.RubyArray$11
            dup
            aload 0 /* this */
            aload 2 /* self */
            aload 1 /* context */
            invokespecial org.jruby.RubyArray$11.<init>:(Lorg/jruby/RubyArray;Lorg/jruby/RubyArray;Lorg/jruby/runtime/ThreadContext;)V
            areturn
        end local 2 // org.jruby.RubyArray self
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            1    2     2     self  Lorg/jruby/RubyArray;
    MethodParameters:
         Name  Flags
      context  final

  private static org.jruby.runtime.builtin.IRubyObject descendingFactorial(org.jruby.runtime.ThreadContext, long, long);
    descriptor: (Lorg/jruby/runtime/ThreadContext;JJ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // long from
        start local 3 // long howMany
         0: .line 4230
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 4231
            lload 3 /* howMany */
            lconst_0
            lcmp
            iflt 2
            aload 5 /* runtime */
            invokestatic org.jruby.RubyFixnum.one:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            goto 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aload 5 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
      StackMap locals:
      StackMap stack: org.jruby.RubyFixnum
         3: astore 6 /* cnt */
        start local 6 // org.jruby.runtime.builtin.IRubyObject cnt
         4: .line 4232
            aload 0 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.op_times:Lorg/jruby/runtime/CallSite;
            astore 7 /* op_times */
        start local 7 // org.jruby.runtime.CallSite op_times
         5: .line 4233
            goto 8
         6: .line 4234
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.CallSite
      StackMap stack:
            aload 5 /* runtime */
            lload 1 /* from */
            dup2
            lconst_1
            lsub
            lstore 1 /* from */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            astore 8 /* v */
        start local 8 // org.jruby.RubyFixnum v
         7: .line 4235
            aload 7 /* op_times */
            aload 0 /* context */
            aload 6 /* cnt */
            aload 6 /* cnt */
            aload 8 /* v */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* cnt */
        end local 8 // org.jruby.RubyFixnum v
         8: .line 4233
      StackMap locals:
      StackMap stack:
            lload 3 /* howMany */
            dup2
            lconst_1
            lsub
            lstore 3 /* howMany */
            lconst_0
            lcmp
            ifgt 6
         9: .line 4237
            aload 6 /* cnt */
            areturn
        end local 7 // org.jruby.runtime.CallSite op_times
        end local 6 // org.jruby.runtime.builtin.IRubyObject cnt
        end local 5 // org.jruby.Ruby runtime
        end local 3 // long howMany
        end local 1 // long from
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0   context  Lorg/jruby/runtime/ThreadContext;
            0   10     1      from  J
            0   10     3   howMany  J
            1   10     5   runtime  Lorg/jruby/Ruby;
            4   10     6       cnt  Lorg/jruby/runtime/builtin/IRubyObject;
            5   10     7  op_times  Lorg/jruby/runtime/CallSite;
            7    8     8         v  Lorg/jruby/RubyFixnum;
    MethodParameters:
         Name  Flags
      context  
      from     
      howMany  

  public org.jruby.runtime.builtin.IRubyObject choice(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4242
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 2
         1: .line 4243
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 4245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getDefaultRand:()Lorg/jruby/RubyRandom$RandomType;
            invokevirtual org.jruby.RubyRandom$RandomType.genrandReal:()D
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            i2d
            dmul
            d2i
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject shuffle_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4249
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.shuffle_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject shuffle_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4254
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         1: .line 4255
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRandomClass:()Lorg/jruby/RubyClass;
            astore 3 /* randgen */
        start local 3 // org.jruby.runtime.builtin.IRubyObject randgen
         2: .line 4256
            aload 2 /* args */
            arraylength
            ifle 7
         3: .line 4257
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            aload 2 /* args */
            arraylength
            iconst_1
            isub
            aaload
            invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* hash */
        start local 4 // org.jruby.runtime.builtin.IRubyObject hash
         4: .line 4258
            aload 4 /* hash */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 7
         5: .line 4259
            aload 1 /* context */
            aload 4 /* hash */
            checkcast org.jruby.RubyHash
            ldc "random"
            invokestatic org.jruby.ast.util.ArgsUtil.extractKeywordArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* ret */
        start local 5 // org.jruby.runtime.builtin.IRubyObject ret
         6: .line 4260
            aload 5 /* ret */
            ifnull 7
            aload 5 /* ret */
            astore 3 /* randgen */
        end local 5 // org.jruby.runtime.builtin.IRubyObject ret
        end local 4 // org.jruby.runtime.builtin.IRubyObject hash
         7: .line 4263
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* i */
        start local 4 // int i
         8: .line 4264
            iload 4 /* i */
            istore 5 /* len */
        start local 5 // int len
         9: .line 4266
            goto 16
        10: .line 4267
      StackMap locals: int int
      StackMap stack:
            aload 1 /* context */
            aload 3 /* randgen */
            iload 4 /* i */
            iconst_1
            isub
            i2l
            invokestatic org.jruby.RubyRandom.randomLongLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;J)J
            l2i
            istore 6 /* r */
        start local 6 // int r
        11: .line 4268
            iload 5 /* len */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpeq 13
        12: .line 4269
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "modified during shuffle"
            invokevirtual org.jruby.Ruby.newRuntimeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        13: .line 4271
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iinc 4 /* i */ -1
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* tmp */
        start local 7 // org.jruby.runtime.builtin.IRubyObject tmp
        14: .line 4272
            aload 0 /* this */
            iload 4 /* i */
            aload 0 /* this */
            iload 6 /* r */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.eltSetOk:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        15: .line 4273
            aload 0 /* this */
            iload 6 /* r */
            aload 7 /* tmp */
            invokevirtual org.jruby.RubyArray.eltSetOk:(ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        end local 7 // org.jruby.runtime.builtin.IRubyObject tmp
        end local 6 // int r
        16: .line 4266
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifgt 10
        17: .line 4275
            goto 20
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        18: astore 6 /* ex */
        start local 6 // java.lang.ArrayIndexOutOfBoundsException ex
        19: .line 4276
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 6 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.ArrayIndexOutOfBoundsException ex
        20: .line 4279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 5 // int len
        end local 4 // int i
        end local 3 // org.jruby.runtime.builtin.IRubyObject randgen
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lorg/jruby/RubyArray<TT;>;
            0   21     1  context  Lorg/jruby/runtime/ThreadContext;
            0   21     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            2   21     3  randgen  Lorg/jruby/runtime/builtin/IRubyObject;
            4    7     4     hash  Lorg/jruby/runtime/builtin/IRubyObject;
            6    7     5      ret  Lorg/jruby/runtime/builtin/IRubyObject;
            8   21     4        i  I
            9   21     5      len  I
           11   16     6        r  I
           14   16     7      tmp  TT;
           19   20     6       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           9    17      18  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"shuffle!"}, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject shuffle(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4283
            aload 0 /* this */
            aload 1 /* context */
            getstatic org.jruby.runtime.builtin.IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.shuffle:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject shuffle(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4288
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            astore 3 /* ary */
        start local 3 // org.jruby.RubyArray ary
         1: .line 4289
            aload 3 /* ary */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyArray.shuffle_bang:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 4290
            aload 3 /* ary */
            areturn
        end local 3 // org.jruby.RubyArray ary
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            1    3     3      ary  Lorg/jruby/RubyArray;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"shuffle"}, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject sample(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4297
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 4299
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getRandomClass:()Lorg/jruby/RubyClass;
            astore 3 /* randgen */
        start local 3 // org.jruby.runtime.builtin.IRubyObject randgen
         2: .line 4301
            aload 2 /* args */
            arraylength
            ifle 8
         3: .line 4302
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* args */
            aload 2 /* args */
            arraylength
            iconst_1
            isub
            aaload
            invokestatic org.jruby.util.TypeConverter.checkHashType:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* hash */
        start local 4 // org.jruby.runtime.builtin.IRubyObject hash
         4: .line 4303
            aload 4 /* hash */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 8
         5: .line 4304
            aload 1 /* context */
            aload 4 /* hash */
            checkcast org.jruby.RubyHash
            ldc "random"
            invokestatic org.jruby.ast.util.ArgsUtil.extractKeywordArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* ret */
        start local 5 // org.jruby.runtime.builtin.IRubyObject ret
         6: .line 4305
            aload 5 /* ret */
            ifnull 7
            aload 5 /* ret */
            astore 3 /* randgen */
         7: .line 4306
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* args */
            aload 2 /* args */
            arraylength
            iconst_1
            isub
            invokestatic org.jruby.util.ArraySupport.newCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* args */
        end local 5 // org.jruby.runtime.builtin.IRubyObject ret
        end local 4 // org.jruby.runtime.builtin.IRubyObject hash
         8: .line 4310
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            arraylength
            ifne 15
         9: .line 4311
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 11
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
        10: areturn
        11: .line 4312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmpne 12
            lconst_0
            goto 13
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        12: aload 1 /* context */
            aload 3 /* randgen */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            i2l
            invokestatic org.jruby.RubyRandom.randomLongLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;J)J
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject
      StackMap stack: org.jruby.RubyArray long
        13: invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
        14: areturn
        15: .line 4315
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
        16: .line 4316
            aload 2 /* args */
            iconst_0
            aaload
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            istore 5 /* n */
        start local 5 // int n
        17: .line 4318
            iload 5 /* n */
            ifge 18
            aload 4 /* runtime */
            ldc "negative sample number"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        18: .line 4319
      StackMap locals: org.jruby.Ruby int
      StackMap stack:
            iload 5 /* n */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmple 19
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 5 /* n */
        19: .line 4321
      StackMap locals:
      StackMap stack:
            bipush 10
            newarray 11
            astore 6 /* rnds */
        start local 6 // long[] rnds
        20: .line 4322
            iload 5 /* n */
            bipush 10
            if_icmpgt 26
        21: .line 4323
            iconst_0
            istore 7 /* idx */
        start local 7 // int idx
        22: goto 25
        23: .line 4324
      StackMap locals: long[] int
      StackMap stack:
            aload 6 /* rnds */
            iload 7 /* idx */
            aload 1 /* context */
            aload 3 /* randgen */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iload 7 /* idx */
            isub
            iconst_1
            isub
            i2l
            invokestatic org.jruby.RubyRandom.randomLongLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;J)J
            lastore
        24: .line 4323
            iinc 7 /* idx */ 1
      StackMap locals:
      StackMap stack:
        25: iload 7 /* idx */
            iload 5 /* n */
            if_icmplt 23
        end local 7 // int idx
        26: .line 4329
      StackMap locals:
      StackMap stack:
            iload 5 /* n */
            tableswitch { // 0 - 3
                    0: 27
                    1: 29
                    2: 32
                    3: 37
              default: 48
          }
        27: .line 4331
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
        28: areturn
        29: .line 4333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifgt 30
            aload 4 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 4 /* runtime */
            aload 0 /* this */
            aload 6 /* rnds */
            iconst_0
            laload
            l2i
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
        31: areturn
        32: .line 4335
      StackMap locals:
      StackMap stack:
            aload 6 /* rnds */
            iconst_0
            laload
            l2i
            istore 7 /* i */
        start local 7 // int i
        33: .line 4336
            aload 6 /* rnds */
            iconst_1
            laload
            l2i
            istore 8 /* j */
        start local 8 // int j
        34: .line 4338
            iload 8 /* j */
            iload 7 /* i */
            if_icmplt 35
            iinc 8 /* j */ 1
        35: .line 4340
      StackMap locals: int int
      StackMap stack:
            aload 4 /* runtime */
            aload 0 /* this */
            iload 7 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            iload 8 /* j */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
        36: areturn
        end local 8 // int j
        end local 7 // int i
        37: .line 4342
      StackMap locals:
      StackMap stack:
            aload 6 /* rnds */
            iconst_0
            laload
            l2i
            istore 7 /* i */
        start local 7 // int i
        38: .line 4343
            aload 6 /* rnds */
            iconst_1
            laload
            l2i
            istore 8 /* j */
        start local 8 // int j
        39: .line 4344
            aload 6 /* rnds */
            iconst_2
            laload
            l2i
            istore 9 /* k */
        start local 9 // int k
        40: .line 4346
            iload 8 /* j */
            istore 10 /* l */
        start local 10 // int l
        41: iload 7 /* i */
            istore 11 /* g */
        start local 11 // int g
        42: .line 4348
            iload 8 /* j */
            iload 7 /* i */
            if_icmplt 45
        43: .line 4349
            iload 7 /* i */
            istore 10 /* l */
        44: .line 4350
            iinc 8 /* j */ 1
            iload 8 /* j */
            istore 11 /* g */
        45: .line 4353
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[] int int int int int
      StackMap stack:
            iload 9 /* k */
            iload 10 /* l */
            if_icmplt 46
            iinc 9 /* k */ 1
            iload 9 /* k */
            iload 11 /* g */
            if_icmplt 46
            iinc 9 /* k */ 1
        46: .line 4355
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 0 /* this */
            iload 7 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            iload 8 /* j */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            iload 9 /* k */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
        47: areturn
        end local 11 // int g
        end local 10 // int l
        end local 9 // int k
        end local 8 // int j
        end local 7 // int i
        48: .line 4358
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[]
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 10 /* len */
        start local 10 // int len
        49: .line 4360
            iload 5 /* n */
            iload 10 /* len */
            if_icmple 50
            iload 10 /* len */
            istore 5 /* n */
        50: .line 4361
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[] top top top int
      StackMap stack:
            iload 5 /* n */
            bipush 10
            if_icmpge 73
        51: .line 4362
            bipush 10
            newarray 10
            astore 11 /* idx */
        start local 11 // int[] idx
        52: .line 4363
            bipush 10
            newarray 10
            astore 12 /* sorted */
        start local 12 // int[] sorted
        53: .line 4364
            aload 12 /* sorted */
            iconst_0
            aload 11 /* idx */
            iconst_0
            aload 6 /* rnds */
            iconst_0
            laload
            l2i
            dup_x2
            iastore
            iastore
        54: .line 4365
            iconst_1
            istore 7 /* i */
        start local 7 // int i
        55: goto 65
        56: .line 4366
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[] int top top int int[] int[]
      StackMap stack:
            aload 6 /* rnds */
            iload 7 /* i */
            laload
            l2i
            istore 9 /* k */
        start local 9 // int k
        57: .line 4367
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        58: goto 61
        59: .line 4368
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[] int int int int int[] int[]
      StackMap stack:
            iload 9 /* k */
            aload 12 /* sorted */
            iload 8 /* j */
            iaload
            if_icmpge 60
            goto 62
        60: .line 4367
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
            iinc 9 /* k */ 1
      StackMap locals:
      StackMap stack:
        61: iload 8 /* j */
            iload 7 /* i */
            if_icmplt 59
        62: .line 4370
      StackMap locals:
      StackMap stack:
            aload 12 /* sorted */
            iload 8 /* j */
            aload 12 /* sorted */
            iload 8 /* j */
            iconst_1
            iadd
            iload 7 /* i */
            iload 8 /* j */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        63: .line 4371
            aload 12 /* sorted */
            iload 8 /* j */
            aload 11 /* idx */
            iload 7 /* i */
            iload 9 /* k */
            dup_x2
            iastore
            iastore
        64: .line 4365
            iinc 7 /* i */ 1
        end local 9 // int k
        end local 8 // int j
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[] int top top int int[] int[]
      StackMap stack:
        65: iload 7 /* i */
            iload 5 /* n */
            if_icmplt 56
        66: .line 4373
            iload 5 /* n */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 13 /* result */
        start local 13 // org.jruby.runtime.builtin.IRubyObject[] result
        67: .line 4374
            iconst_0
            istore 7 /* i */
            goto 70
        68: .line 4375
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            aload 13 /* result */
            iload 7 /* i */
            aload 0 /* this */
            aload 11 /* idx */
            iload 7 /* i */
            iaload
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aastore
        69: .line 4374
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        70: iload 7 /* i */
            iload 5 /* n */
            if_icmplt 68
        71: .line 4377
            aload 4 /* runtime */
            aload 13 /* result */
            invokestatic org.jruby.RubyArray.newArrayMayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
        72: areturn
        end local 13 // org.jruby.runtime.builtin.IRubyObject[] result
        end local 12 // int[] sorted
        end local 11 // int[] idx
        end local 7 // int i
        73: .line 4379
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[] top top top int
      StackMap stack:
            iload 10 /* len */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* result */
        start local 11 // org.jruby.runtime.builtin.IRubyObject[] result
        74: .line 4380
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 11 /* result */
            iconst_0
            iload 10 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        75: .line 4381
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        76: goto 82
        77: .line 4382
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[] org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby int long[] int top top int org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack:
            aload 1 /* context */
            aload 3 /* randgen */
            iload 10 /* len */
            iload 7 /* i */
            isub
            iconst_1
            isub
            i2l
            invokestatic org.jruby.RubyRandom.randomLongLimited:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;J)J
            l2i
            iload 7 /* i */
            iadd
            istore 8 /* j */
        start local 8 // int j
        78: .line 4383
            aload 11 /* result */
            iload 8 /* j */
            aaload
            astore 12 /* tmp */
        start local 12 // org.jruby.runtime.builtin.IRubyObject tmp
        79: .line 4384
            aload 11 /* result */
            iload 8 /* j */
            aload 11 /* result */
            iload 7 /* i */
            aaload
            aastore
        80: .line 4385
            aload 11 /* result */
            iload 7 /* i */
            aload 12 /* tmp */
            aastore
        end local 12 // org.jruby.runtime.builtin.IRubyObject tmp
        81: .line 4381
            iinc 7 /* i */ 1
        end local 8 // int j
      StackMap locals:
      StackMap stack:
        82: iload 7 /* i */
            iload 5 /* n */
            if_icmplt 77
        83: .line 4387
            aload 4 /* runtime */
            aload 11 /* result */
            invokestatic org.jruby.RubyArray.newArrayNoCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            astore 12 /* ary */
        start local 12 // org.jruby.RubyArray ary
        84: .line 4388
            aload 12 /* ary */
            iload 5 /* n */
            putfield org.jruby.RubyArray.realLength:I
        85: .line 4389
            aload 12 /* ary */
        86: areturn
        end local 12 // org.jruby.RubyArray ary
        end local 11 // org.jruby.runtime.builtin.IRubyObject[] result
        end local 10 // int len
        end local 7 // int i
        end local 6 // long[] rnds
        end local 5 // int n
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject randgen
        87: .line 4391
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject[]
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        88: .line 4392
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   89     0     this  Lorg/jruby/RubyArray<TT;>;
            0   89     1  context  Lorg/jruby/runtime/ThreadContext;
            0   89     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            2   87     3  randgen  Lorg/jruby/runtime/builtin/IRubyObject;
            4    8     4     hash  Lorg/jruby/runtime/builtin/IRubyObject;
            6    8     5      ret  Lorg/jruby/runtime/builtin/IRubyObject;
           16   87     4  runtime  Lorg/jruby/Ruby;
           17   87     5        n  I
           20   87     6     rnds  [J
           22   26     7      idx  I
           33   37     7        i  I
           38   48     7        i  I
           55   73     7        i  I
           76   87     7        i  I
           34   37     8        j  I
           39   48     8        j  I
           58   65     8        j  I
           78   82     8        j  I
           40   48     9        k  I
           57   65     9        k  I
           41   48    10        l  I
           42   48    11        g  I
           49   87    10      len  I
           52   73    11      idx  [I
           53   73    12   sorted  [I
           67   73    13   result  [Lorg/jruby/runtime/builtin/IRubyObject;
           74   87    11   result  [Lorg/jruby/runtime/builtin/IRubyObject;
           79   81    12      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
           84   87    12      ary  Lorg/jruby/RubyArray;
           88   89     3       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           1    10      87  Class java.lang.ArrayIndexOutOfBoundsException
          11    14      87  Class java.lang.ArrayIndexOutOfBoundsException
          15    28      87  Class java.lang.ArrayIndexOutOfBoundsException
          29    31      87  Class java.lang.ArrayIndexOutOfBoundsException
          32    36      87  Class java.lang.ArrayIndexOutOfBoundsException
          37    47      87  Class java.lang.ArrayIndexOutOfBoundsException
          48    72      87  Class java.lang.ArrayIndexOutOfBoundsException
          73    86      87  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"sample"}, optional = 2)
    MethodParameters:
         Name  Flags
      context  
      args     

  private static void aryReverse(org.jruby.runtime.builtin.IRubyObject[], int, org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.runtime.builtin.IRubyObject[] _p1
        start local 1 // int p1
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] _p2
        start local 3 // int p2
         0: .line 4397
            goto 4
         1: .line 4398
      StackMap locals:
      StackMap stack:
            aload 0 /* _p1 */
            iload 1 /* p1 */
            aaload
            astore 4 /* tmp */
        start local 4 // org.jruby.runtime.builtin.IRubyObject tmp
         2: .line 4399
            aload 0 /* _p1 */
            iload 1 /* p1 */
            iinc 1 /* p1 */ 1
            aload 2 /* _p2 */
            iload 3 /* p2 */
            aaload
            aastore
         3: .line 4400
            aload 2 /* _p2 */
            iload 3 /* p2 */
            iinc 3 /* p2 */ -1
            aload 4 /* tmp */
            aastore
        end local 4 // org.jruby.runtime.builtin.IRubyObject tmp
         4: .line 4397
      StackMap locals:
      StackMap stack:
            iload 1 /* p1 */
            iload 3 /* p2 */
            if_icmplt 1
         5: .line 4402
            return
        end local 3 // int p2
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] _p2
        end local 1 // int p1
        end local 0 // org.jruby.runtime.builtin.IRubyObject[] _p1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0   _p1  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     1    p1  I
            0    6     2   _p2  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     3    p2  I
            2    4     4   tmp  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      _p1   
      p1    
      _p2   
      p2    

  protected org.jruby.runtime.builtin.IRubyObject internalRotateBang(org.jruby.runtime.ThreadContext, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int cnt
         0: .line 4405
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.modify:()V
         1: .line 4408
            iload 2 /* cnt */
            ifeq 13
         2: .line 4409
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* ptr */
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] ptr
         3: .line 4410
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* len */
        start local 4 // int len
         4: .line 4412
            iload 4 /* len */
            ifle 13
            iload 2 /* cnt */
            iload 4 /* len */
            invokestatic org.jruby.RubyArray.rotateCount:(II)I
            dup
            istore 2 /* cnt */
            ifle 13
         5: .line 4413
            iinc 4 /* len */ -1
         6: .line 4414
            iload 2 /* cnt */
            iload 4 /* len */
            if_icmpge 7
            aload 3 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* cnt */
            iadd
            aload 3 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 4 /* len */
            iadd
            invokestatic org.jruby.RubyArray.aryReverse:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;I)V
         7: .line 4415
      StackMap locals: org.jruby.runtime.builtin.IRubyObject[] int
      StackMap stack:
            iinc 2 /* cnt */ -1
            iload 2 /* cnt */
            ifle 8
            aload 3 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 3 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* cnt */
            iadd
            invokestatic org.jruby.RubyArray.aryReverse:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;I)V
         8: .line 4416
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            ifle 9
            aload 3 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 3 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 4 /* len */
            iadd
            invokestatic org.jruby.RubyArray.aryReverse:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;I)V
         9: .line 4417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        10: areturn
        end local 4 // int len
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] ptr
        11: .line 4420
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext int
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        12: .line 4421
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        13: .line 4424
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // int cnt
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyArray<TT;>;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            0   14     2      cnt  I
            3   11     3      ptr  [Lorg/jruby/runtime/builtin/IRubyObject;
            4   11     4      len  I
           12   13     3       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           1    10      11  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      context  
      cnt      

  private static int rotateCount(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int cnt
        start local 1 // int len
         0: .line 4428
            iload 0 /* cnt */
            ifge 1
            iload 1 /* len */
            iload 0 /* cnt */
            iconst_m1
            ixor
            iload 1 /* len */
            irem
            isub
            iconst_1
            isub
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 0 /* cnt */
            iload 1 /* len */
            irem
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int len
        end local 0 // int cnt
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   cnt  I
            0    3     1   len  I
    MethodParameters:
      Name  Flags
      cnt   
      len   

  protected org.jruby.runtime.builtin.IRubyObject internalRotate(org.jruby.runtime.ThreadContext, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // int cnt
         0: .line 4432
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 3 /* len */
        start local 3 // int len
         1: .line 4433
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            astore 4 /* rotated */
        start local 4 // org.jruby.RubyArray rotated
         2: .line 4434
            aload 4 /* rotated */
            invokevirtual org.jruby.RubyArray.modify:()V
         3: .line 4437
            iload 3 /* len */
            ifle 13
         4: .line 4438
            iload 2 /* cnt */
            iload 3 /* len */
            invokestatic org.jruby.RubyArray.rotateCount:(II)I
            istore 2 /* cnt */
         5: .line 4439
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* ptr */
        start local 5 // org.jruby.runtime.builtin.IRubyObject[] ptr
         6: .line 4440
            aload 4 /* rotated */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* ptr2 */
        start local 6 // org.jruby.runtime.builtin.IRubyObject[] ptr2
         7: .line 4441
            iload 3 /* len */
            iload 2 /* cnt */
            isub
            istore 3 /* len */
         8: .line 4442
            aload 5 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 2 /* cnt */
            iadd
            aload 6 /* ptr2 */
            iconst_0
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 4443
            aload 5 /* ptr */
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 6 /* ptr2 */
            iload 3 /* len */
            iload 2 /* cnt */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 6 // org.jruby.runtime.builtin.IRubyObject[] ptr2
        end local 5 // org.jruby.runtime.builtin.IRubyObject[] ptr
        10: .line 4445
            goto 13
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext int int org.jruby.RubyArray
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
        11: astore 5 /* ex */
        start local 5 // java.lang.ArrayIndexOutOfBoundsException ex
        12: .line 4446
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 5 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.ArrayIndexOutOfBoundsException ex
        13: .line 4449
      StackMap locals:
      StackMap stack:
            aload 4 /* rotated */
            areturn
        end local 4 // org.jruby.RubyArray rotated
        end local 3 // int len
        end local 2 // int cnt
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/jruby/RubyArray<TT;>;
            0   14     1  context  Lorg/jruby/runtime/ThreadContext;
            0   14     2      cnt  I
            1   14     3      len  I
            2   14     4  rotated  Lorg/jruby/RubyArray;
            6   10     5      ptr  [Lorg/jruby/runtime/builtin/IRubyObject;
            7   10     6     ptr2  [Lorg/jruby/runtime/builtin/IRubyObject;
           12   13     5       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           3    10      11  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      context  
      cnt      

  public org.jruby.runtime.builtin.IRubyObject rotate_bang(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4454
            aload 0 /* this */
            aload 1 /* context */
            iconst_1
            invokevirtual org.jruby.RubyArray.internalRotateBang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 4455
            aload 0 /* this */
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rotate!"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject rotate_bang(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject cnt
         0: .line 4460
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* cnt */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokevirtual org.jruby.RubyArray.internalRotateBang:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 4461
            aload 0 /* this */
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject cnt
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2      cnt  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rotate!"})
    MethodParameters:
         Name  Flags
      context  
      cnt      

  public org.jruby.runtime.builtin.IRubyObject rotate(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 4466
            aload 0 /* this */
            aload 1 /* context */
            iconst_1
            invokevirtual org.jruby.RubyArray.internalRotate:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rotate"})
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject rotate(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject cnt
         0: .line 4471
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* cnt */
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            invokevirtual org.jruby.RubyArray.internalRotate:(Lorg/jruby/runtime/ThreadContext;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject cnt
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2      cnt  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"rotate"})
    MethodParameters:
         Name  Flags
      context  
      cnt      

  public org.jruby.runtime.builtin.IRubyObject all_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 4477
            aload 0 /* this */
            ldc "each"
            invokevirtual org.jruby.RubyArray.isBuiltin:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* block */
            invokestatic org.jruby.RubyEnumerable.all_pCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 4478
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            arraylength
            ifle 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* patternGiven */
        start local 4 // boolean patternGiven
         4: .line 4479
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 5
            iload 4 /* patternGiven */
            ifeq 6
      StackMap locals: int
      StackMap stack:
         5: aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyArray.all_pBlockless:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         6: .line 4481
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 10
         8: .line 4482
      StackMap locals: int
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 9
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         9: .line 4481
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 8
        end local 5 // int i
        11: .line 4485
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
        end local 4 // boolean patternGiven
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/jruby/RubyArray<TT;>;
            0   12     1       context  Lorg/jruby/runtime/ThreadContext;
            0   12     2          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   12     3         block  Lorg/jruby/runtime/Block;
            4   12     4  patternGiven  Z
            7   11     5             i  I
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  private org.jruby.runtime.builtin.IRubyObject all_pBlockless(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4489
            aload 2 /* args */
            arraylength
            ifle 1
            aload 2 /* args */
            iconst_0
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: astore 3 /* pattern */
        start local 3 // org.jruby.runtime.builtin.IRubyObject pattern
         3: .line 4490
            aload 3 /* pattern */
            ifnonnull 10
         4: .line 4491
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 4492
      StackMap locals: org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 7
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         7: .line 4491
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 6
        end local 4 // int i
         9: .line 4494
            goto 15
        10: .line 4495
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 14
        12: .line 4496
      StackMap locals: int
      StackMap stack:
            aload 3 /* pattern */
            aload 1 /* context */
            ldc "==="
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifne 13
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        13: .line 4495
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 12
        end local 4 // int i
        15: .line 4500
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/RubyArray<TT;>;
            0   16     1  context  Lorg/jruby/runtime/ThreadContext;
            0   16     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            3   16     3  pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            5    9     4        i  I
           11   15     4        i  I
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject any_p(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // org.jruby.runtime.Block block
         0: .line 4505
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.isEmpty:()Z
            ifeq 1
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
         1: .line 4506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "each"
            invokevirtual org.jruby.RubyArray.isBuiltin:(Ljava/lang/String;)Z
            ifne 2
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* args */
            aload 3 /* block */
            invokestatic org.jruby.RubyEnumerable.any_pCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 4507
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            arraylength
            ifle 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* patternGiven */
        start local 4 // boolean patternGiven
         5: .line 4508
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 6
            iload 4 /* patternGiven */
            ifeq 7
      StackMap locals: int
      StackMap stack:
         6: aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            invokevirtual org.jruby.RubyArray.any_pBlockless:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         7: .line 4510
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 11
         9: .line 4511
      StackMap locals: int
      StackMap stack:
            aload 3 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 5 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 10
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
        10: .line 4510
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 9
        end local 5 // int i
        12: .line 4514
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 4 // boolean patternGiven
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/jruby/RubyArray<TT;>;
            0   13     1       context  Lorg/jruby/runtime/ThreadContext;
            0   13     2          args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0   13     3         block  Lorg/jruby/runtime/Block;
            5   13     4  patternGiven  Z
            8   12     5             i  I
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"any?"}, optional = 1)
    MethodParameters:
         Name  Flags
      context  
      args     
      block    

  private org.jruby.runtime.builtin.IRubyObject any_pBlockless(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4518
            aload 2 /* args */
            arraylength
            ifle 1
            aload 2 /* args */
            iconst_0
            aaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         2: astore 3 /* pattern */
        start local 3 // org.jruby.runtime.builtin.IRubyObject pattern
         3: .line 4519
            aload 3 /* pattern */
            ifnonnull 10
         4: .line 4520
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 4521
      StackMap locals: org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 7
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
         7: .line 4520
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 6
        end local 4 // int i
         9: .line 4523
            goto 15
        10: .line 4524
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 14
        12: .line 4525
      StackMap locals: int
      StackMap stack:
            aload 3 /* pattern */
            aload 1 /* context */
            ldc "==="
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 13
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.tru:Lorg/jruby/RubyBoolean;
            areturn
        13: .line 4524
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 12
        end local 4 // int i
        15: .line 4529
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.fals:Lorg/jruby/RubyBoolean;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject pattern
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/jruby/RubyArray<TT;>;
            0   16     1  context  Lorg/jruby/runtime/ThreadContext;
            0   16     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            3   16     3  pattern  Lorg/jruby/runtime/builtin/IRubyObject;
            5    9     4        i  I
           11   15     4        i  I
    MethodParameters:
         Name  Flags
      context  
      args     

  public org.jruby.runtime.builtin.IRubyObject sum(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4534
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         1: .line 4535
            aload 3 /* runtime */
            invokestatic org.jruby.RubyFixnum.zero:(Lorg/jruby/Ruby;)Lorg/jruby/RubyFixnum;
            astore 4 /* zero */
        start local 4 // org.jruby.RubyFixnum zero
         2: .line 4537
            aload 0 /* this */
            ldc "each"
            invokevirtual org.jruby.RubyArray.isBuiltin:(Ljava/lang/String;)Z
            ifne 3
            aload 1 /* context */
            aload 0 /* this */
            aload 4 /* zero */
            aload 2 /* block */
            invokestatic org.jruby.RubyEnumerable.sumCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 4539
      StackMap locals: org.jruby.Ruby org.jruby.RubyFixnum
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* zero */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.sumCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // org.jruby.RubyFixnum zero
        end local 3 // org.jruby.Ruby runtime
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2    block  Lorg/jruby/runtime/Block;
            1    4     3  runtime  Lorg/jruby/Ruby;
            2    4     4     zero  Lorg/jruby/RubyFixnum;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      block    final

  public org.jruby.runtime.builtin.IRubyObject sum(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject init
        start local 3 // org.jruby.runtime.Block block
         0: .line 4544
            aload 0 /* this */
            ldc "each"
            invokevirtual org.jruby.RubyArray.isBuiltin:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* init */
            aload 3 /* block */
            invokestatic org.jruby.RubyEnumerable.sumCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 4546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* init */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.sumCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject init
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2     init  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod()
    MethodParameters:
         Name  Flags
      context  final
      init     
      block    final

  public org.jruby.runtime.builtin.IRubyObject sumCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=20, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject init
        start local 3 // org.jruby.runtime.Block block
         0: .line 4550
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 4551
            aload 2 /* init */
            astore 5 /* result */
        start local 5 // org.jruby.runtime.builtin.IRubyObject result
         2: .line 4565
            iconst_0
            istore 6 /* is_fixnum */
        start local 6 // boolean is_fixnum
         3: iconst_0
            istore 7 /* is_bignum */
        start local 7 // boolean is_bignum
         4: iconst_0
            istore 8 /* is_rational */
        start local 8 // boolean is_rational
         5: iconst_0
            istore 9 /* is_float */
        start local 9 // boolean is_float
         6: .line 4567
            aload 5 /* result */
            instanceof org.jruby.RubyFixnum
            ifeq 9
         7: .line 4568
            iconst_1
            istore 6 /* is_fixnum */
         8: .line 4569
            goto 17
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.Block org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject int int int int
      StackMap stack:
         9: aload 5 /* result */
            instanceof org.jruby.RubyBignum
            ifeq 12
        10: .line 4570
            iconst_1
            istore 7 /* is_bignum */
        11: .line 4571
            goto 17
      StackMap locals:
      StackMap stack:
        12: aload 5 /* result */
            instanceof org.jruby.RubyRational
            ifeq 15
        13: .line 4572
            iconst_1
            istore 8 /* is_rational */
        14: .line 4573
            goto 17
      StackMap locals:
      StackMap stack:
        15: aload 5 /* result */
            instanceof org.jruby.RubyFloat
            ifeq 17
        16: .line 4574
            iconst_1
            istore 9 /* is_float */
        17: .line 4577
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        18: .line 4578
            aconst_null
            astore 11 /* value */
        start local 11 // org.jruby.runtime.builtin.IRubyObject value
        19: .line 4580
            iload 6 /* is_fixnum */
            ifeq 52
        20: .line 4581
            aload 5 /* result */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            lstore 12 /* sum */
        start local 12 // long sum
        21: .line 4583
            goto 41
        22: .line 4584
      StackMap locals: int org.jruby.runtime.builtin.IRubyObject long
      StackMap stack:
            aload 11 /* value */
            ifnonnull 26
        23: .line 4585
            aload 0 /* this */
            iload 10 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        24: .line 4586
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 26
        25: .line 4587
            aload 3 /* block */
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        26: .line 4591
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyFixnum
            ifeq 32
        27: .line 4594
            lload 12 /* sum */
            aload 11 /* value */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            invokestatic java.lang.Math.addExact:(JJ)J
            lstore 12 /* sum */
        28: .line 4595
            goto 40
      StackMap locals:
      StackMap stack: java.lang.ArithmeticException
        29: pop
        30: .line 4596
            iconst_1
            istore 7 /* is_bignum */
        31: .line 4597
            goto 42
        32: .line 4599
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyBignum
            ifeq 35
        33: .line 4600
            iconst_1
            istore 7 /* is_bignum */
        34: .line 4601
            goto 42
        35: .line 4602
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyRational
            ifeq 38
        36: .line 4603
            iconst_1
            istore 8 /* is_rational */
        37: .line 4604
            goto 42
        38: .line 4606
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyFloat
            istore 9 /* is_float */
        39: .line 4607
            goto 42
        40: .line 4583
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* value */
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        41: iload 10 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 22
        42: .line 4611
      StackMap locals:
      StackMap stack:
            iload 7 /* is_bignum */
            ifeq 45
        43: .line 4612
            aload 4 /* runtime */
            lload 12 /* sum */
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 5 /* result */
        44: .line 4613
            goto 52
      StackMap locals:
      StackMap stack:
        45: iload 8 /* is_rational */
            ifeq 48
        46: .line 4614
            aload 4 /* runtime */
            lload 12 /* sum */
            lconst_1
            invokestatic org.jruby.RubyRational.newRational:(Lorg/jruby/Ruby;JJ)Lorg/jruby/RubyRational;
            astore 5 /* result */
        47: .line 4615
            goto 52
      StackMap locals:
      StackMap stack:
        48: iload 9 /* is_float */
            ifeq 51
        49: .line 4616
            aload 4 /* runtime */
            lload 12 /* sum */
            l2d
            invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
            astore 5 /* result */
        50: .line 4617
            goto 52
        51: .line 4618
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            lload 12 /* sum */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            astore 5 /* result */
        end local 12 // long sum
        52: .line 4621
      StackMap locals:
      StackMap stack:
            iload 7 /* is_bignum */
            ifeq 80
        53: .line 4622
            aload 5 /* result */
            checkcast org.jruby.RubyBignum
            getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
            astore 12 /* sum */
        start local 12 // java.math.BigInteger sum
        54: .line 4624
            goto 72
        55: .line 4625
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 11 /* value */
            ifnonnull 59
        56: .line 4626
            aload 0 /* this */
            iload 10 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        57: .line 4627
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 59
        58: .line 4628
            aload 3 /* block */
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        59: .line 4632
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyFixnum
            ifeq 63
        60: .line 4633
            aload 11 /* value */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            lstore 13 /* val */
        start local 13 // long val
        61: .line 4634
            aload 12 /* sum */
            lload 13 /* val */
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 12 /* sum */
        end local 13 // long val
        62: .line 4635
            goto 71
      StackMap locals:
      StackMap stack:
        63: aload 11 /* value */
            instanceof org.jruby.RubyBignum
            ifeq 66
        64: .line 4636
            aload 12 /* sum */
            aload 11 /* value */
            checkcast org.jruby.RubyBignum
            getfield org.jruby.RubyBignum.value:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 12 /* sum */
        65: .line 4637
            goto 71
      StackMap locals:
      StackMap stack:
        66: aload 11 /* value */
            instanceof org.jruby.RubyRational
            ifeq 69
        67: .line 4638
            iconst_1
            istore 8 /* is_rational */
        68: .line 4639
            goto 73
        69: .line 4641
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyFloat
            istore 9 /* is_float */
        70: .line 4642
            goto 73
        71: .line 4624
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* value */
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        72: iload 10 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 55
        73: .line 4646
      StackMap locals:
      StackMap stack:
            iload 8 /* is_rational */
            ifeq 76
        74: .line 4647
            aload 1 /* context */
            aload 4 /* runtime */
            aload 12 /* sum */
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
            invokestatic org.jruby.RubyRational.newInstance:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyInteger;)Lorg/jruby/RubyNumeric;
            astore 5 /* result */
        75: .line 4648
            goto 80
      StackMap locals:
      StackMap stack:
        76: iload 9 /* is_float */
            ifeq 79
        77: .line 4649
            aload 4 /* runtime */
            aload 12 /* sum */
            invokevirtual java.math.BigInteger.doubleValue:()D
            invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
            astore 5 /* result */
        78: .line 4650
            goto 80
        79: .line 4651
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            aload 12 /* sum */
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyBignum;
            astore 5 /* result */
        end local 12 // java.math.BigInteger sum
        80: .line 4654
      StackMap locals:
      StackMap stack:
            iload 8 /* is_rational */
            ifeq 100
        81: .line 4656
            goto 99
        82: .line 4657
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            ifnonnull 86
        83: .line 4658
            aload 0 /* this */
            iload 10 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        84: .line 4659
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 86
        85: .line 4660
            aload 3 /* block */
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
        86: .line 4664
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyFixnum
            ifne 87
            aload 11 /* value */
            instanceof org.jruby.RubyBignum
            ifne 87
            aload 11 /* value */
            instanceof org.jruby.RubyRational
            ifeq 94
        87: .line 4665
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            instanceof org.jruby.RubyInteger
            ifeq 90
        88: .line 4666
            aload 5 /* result */
            checkcast org.jruby.RubyInteger
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.RubyInteger.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
        89: .line 4667
            goto 98
      StackMap locals:
      StackMap stack:
        90: aload 5 /* result */
            instanceof org.jruby.RubyRational
            ifeq 93
        91: .line 4668
            aload 5 /* result */
            checkcast org.jruby.RubyRational
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.RubyRational.op_plus:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
        92: .line 4669
            goto 98
        93: .line 4670
      StackMap locals:
      StackMap stack:
            aload 4 /* runtime */
            ldc "BUG: unexpected type in rational part of Array#sum"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        94: .line 4672
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyFloat
            ifeq 100
        95: .line 4673
            aload 4 /* runtime */
            aload 5 /* result */
            checkcast org.jruby.RubyRational
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.getDoubleValue:(Lorg/jruby/runtime/ThreadContext;)D
            invokestatic org.jruby.RubyFloat.newFloat:(Lorg/jruby/Ruby;D)Lorg/jruby/RubyFloat;
            astore 5 /* result */
        96: .line 4674
            iconst_1
            istore 9 /* is_float */
        97: .line 4675
            goto 100
        98: .line 4656
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* value */
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        99: iload 10 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 82
       100: .line 4681
      StackMap locals:
      StackMap stack:
            iload 9 /* is_float */
            ifeq 146
       101: .line 4686
            aload 5 /* result */
            checkcast org.jruby.RubyFloat
            getfield org.jruby.RubyFloat.value:D
            dstore 12 /* f */
        start local 12 // double f
       102: .line 4687
            dconst_0
            dstore 14 /* c */
        start local 14 // double c
       103: .line 4690
            goto 136
       104: .line 4691
      StackMap locals: double double
      StackMap stack:
            aload 11 /* value */
            ifnonnull 108
       105: .line 4692
            aload 0 /* this */
            iload 10 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
       106: .line 4693
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 108
       107: .line 4694
            aload 3 /* block */
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
       108: .line 4698
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            instanceof org.jruby.RubyFixnum
            ifeq 111
       109: .line 4699
            aload 11 /* value */
            checkcast org.jruby.RubyFixnum
            getfield org.jruby.RubyFixnum.value:J
            l2d
            dstore 16 /* x */
        start local 16 // double x
       110: .line 4700
            goto 119
        end local 16 // double x
      StackMap locals:
      StackMap stack:
       111: aload 11 /* value */
            instanceof org.jruby.RubyBignum
            ifeq 114
       112: .line 4701
            aload 11 /* value */
            checkcast org.jruby.RubyBignum
            invokevirtual org.jruby.RubyBignum.getDoubleValue:()D
            dstore 16 /* x */
        start local 16 // double x
       113: .line 4702
            goto 119
        end local 16 // double x
      StackMap locals:
      StackMap stack:
       114: aload 11 /* value */
            instanceof org.jruby.RubyRational
            ifeq 117
       115: .line 4703
            aload 11 /* value */
            checkcast org.jruby.RubyRational
            aload 1 /* context */
            invokevirtual org.jruby.RubyRational.getDoubleValue:(Lorg/jruby/runtime/ThreadContext;)D
            dstore 16 /* x */
        start local 16 // double x
       116: .line 4704
            goto 119
        end local 16 // double x
      StackMap locals:
      StackMap stack:
       117: aload 11 /* value */
            instanceof org.jruby.RubyFloat
            ifeq 137
       118: .line 4705
            aload 11 /* value */
            checkcast org.jruby.RubyFloat
            getfield org.jruby.RubyFloat.value:D
            dstore 16 /* x */
        start local 16 // double x
       119: .line 4710
      StackMap locals: double
      StackMap stack:
            dload 12 /* f */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 120
            goto 135
       120: .line 4711
      StackMap locals:
      StackMap stack:
            dload 16 /* x */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifeq 123
       121: .line 4712
            dload 16 /* x */
            dstore 12 /* f */
       122: .line 4713
            goto 135
       123: .line 4715
      StackMap locals:
      StackMap stack:
            dload 16 /* x */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 128
       124: .line 4716
            dload 12 /* f */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 126
            dload 16 /* x */
            invokestatic java.lang.Math.signum:(D)D
            dload 12 /* f */
            invokestatic java.lang.Math.signum:(D)D
            dcmpl
            ifeq 126
       125: .line 4717
            ldc NaN
            dstore 12 /* f */
            goto 135
       126: .line 4719
      StackMap locals:
      StackMap stack:
            dload 16 /* x */
            dstore 12 /* f */
       127: .line 4720
            goto 135
       128: .line 4722
      StackMap locals:
      StackMap stack:
            dload 12 /* f */
            invokestatic java.lang.Double.isInfinite:(D)Z
            ifeq 129
            goto 135
       129: .line 4724
      StackMap locals:
      StackMap stack:
            dload 12 /* f */
            dload 16 /* x */
            dadd
            dstore 18 /* t */
        start local 18 // double t
       130: .line 4725
            dload 12 /* f */
            invokestatic java.lang.Math.abs:(D)D
            dload 16 /* x */
            invokestatic java.lang.Math.abs:(D)D
            dcmpl
            iflt 133
       131: .line 4726
            dload 14 /* c */
            dload 12 /* f */
            dload 18 /* t */
            dsub
            dload 16 /* x */
            dadd
            dadd
            dstore 14 /* c */
       132: .line 4727
            goto 134
       133: .line 4728
      StackMap locals: double
      StackMap stack:
            dload 14 /* c */
            dload 16 /* x */
            dload 18 /* t */
            dsub
            dload 12 /* f */
            dadd
            dadd
            dstore 14 /* c */
       134: .line 4730
      StackMap locals:
      StackMap stack:
            dload 18 /* t */
            dstore 12 /* f */
        end local 18 // double t
       135: .line 4690
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* value */
            iinc 10 /* i */ 1
        end local 16 // double x
      StackMap locals:
      StackMap stack:
       136: iload 10 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 104
       137: .line 4732
      StackMap locals:
      StackMap stack:
            dload 12 /* f */
            dload 14 /* c */
            dadd
            dstore 12 /* f */
       138: .line 4734
            new org.jruby.RubyFloat
            dup
            aload 4 /* runtime */
            dload 12 /* f */
            invokespecial org.jruby.RubyFloat.<init>:(Lorg/jruby/Ruby;D)V
            astore 5 /* result */
        end local 14 // double c
        end local 12 // double f
       139: .line 4737
            goto 146
       140: .line 4738
      StackMap locals:
      StackMap stack:
            aload 11 /* value */
            ifnonnull 144
       141: .line 4739
            aload 0 /* this */
            iload 10 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
       142: .line 4740
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 144
       143: .line 4741
            aload 3 /* block */
            aload 1 /* context */
            aload 11 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 11 /* value */
       144: .line 4745
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            aload 1 /* context */
            ldc "+"
            aload 11 /* value */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* result */
       145: .line 4737
            aconst_null
            astore 11 /* value */
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
       146: iload 10 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 140
       147: .line 4748
            aload 5 /* result */
            areturn
        end local 11 // org.jruby.runtime.builtin.IRubyObject value
        end local 10 // int i
        end local 9 // boolean is_float
        end local 8 // boolean is_rational
        end local 7 // boolean is_bignum
        end local 6 // boolean is_fixnum
        end local 5 // org.jruby.runtime.builtin.IRubyObject result
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject init
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  148     0         this  Lorg/jruby/RubyArray<TT;>;
            0  148     1      context  Lorg/jruby/runtime/ThreadContext;
            0  148     2         init  Lorg/jruby/runtime/builtin/IRubyObject;
            0  148     3        block  Lorg/jruby/runtime/Block;
            1  148     4      runtime  Lorg/jruby/Ruby;
            2  148     5       result  Lorg/jruby/runtime/builtin/IRubyObject;
            3  148     6    is_fixnum  Z
            4  148     7    is_bignum  Z
            5  148     8  is_rational  Z
            6  148     9     is_float  Z
           18  148    10            i  I
           19  148    11        value  Lorg/jruby/runtime/builtin/IRubyObject;
           21   52    12          sum  J
           54   80    12          sum  Ljava/math/BigInteger;
           61   62    13          val  J
          102  139    12            f  D
          103  139    14            c  D
          110  111    16            x  D
          113  114    16            x  D
          116  117    16            x  D
          119  136    16            x  D
          130  135    18            t  D
      Exception table:
        from    to  target  type
          27    28      29  Class java.lang.ArithmeticException
    MethodParameters:
         Name  Flags
      context  final
      init     
      block    final

  public org.jruby.runtime.builtin.IRubyObject find(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject ifnone
        start local 3 // org.jruby.runtime.Block block
         0: .line 4752
            aload 0 /* this */
            ldc "each"
            invokevirtual org.jruby.RubyArray.isBuiltin:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            aload 3 /* block */
            invokestatic org.jruby.RubyEnumerable.detectCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 4754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* ifnone */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.detectCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject ifnone
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  context  Lorg/jruby/runtime/ThreadContext;
            0    2     2   ifnone  Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     3    block  Lorg/jruby/runtime/Block;
    MethodParameters:
         Name  Flags
      context  
      ifnone   
      block    

  public org.jruby.runtime.builtin.IRubyObject find_index(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4758
            aload 0 /* this */
            ldc "each"
            invokevirtual org.jruby.RubyArray.isBuiltin:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* block */
            getstatic org.jruby.runtime.Signature.OPTIONAL:Lorg/jruby/runtime/Signature;
            invokestatic org.jruby.RubyEnumerable.find_indexCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/runtime/Signature;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 4760
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 4761
      StackMap locals: int
      StackMap stack:
            aload 2 /* block */
            aload 1 /* context */
            aload 0 /* this */
            iload 3 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         4: .line 4760
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 3 // int i
         6: .line 4764
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2    block  Lorg/jruby/runtime/Block;
            2    6     3        i  I
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject find_index(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject cond
         0: .line 4768
            aload 0 /* this */
            ldc "each"
            invokevirtual org.jruby.RubyArray.isBuiltin:(Ljava/lang/String;)Z
            ifne 1
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* cond */
            invokestatic org.jruby.RubyEnumerable.find_indexCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 4770
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 4771
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 2 /* cond */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 3 /* i */
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            areturn
         4: .line 4770
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 3 // int i
         6: .line 4774
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject cond
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/RubyArray<TT;>;
            0    7     1  context  Lorg/jruby/runtime/ThreadContext;
            0    7     2     cond  Lorg/jruby/runtime/builtin/IRubyObject;
            2    6     3        i  I
    MethodParameters:
         Name  Flags
      context  
      cond     

  public org.jruby.runtime.builtin.IRubyObject detectCommon(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject ifnone
        start local 3 // org.jruby.runtime.Block block
         0: .line 4778
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 5
         2: .line 4779
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* value */
        start local 5 // org.jruby.runtime.builtin.IRubyObject value
         3: .line 4781
            aload 3 /* block */
            aload 1 /* context */
            aload 5 /* value */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ifeq 4
            aload 5 /* value */
            areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject value
         4: .line 4778
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 2
        end local 4 // int i
         6: .line 4784
            aload 2 /* ifnone */
            ifnull 7
            aload 2 /* ifnone */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 7
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            getfield org.jruby.runtime.JavaSites$ArraySites.call:Lorg/jruby/runtime/CallSite;
            aload 1 /* context */
            aload 2 /* ifnone */
            aload 2 /* ifnone */
            invokevirtual org.jruby.runtime.CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         8: areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject ifnone
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  context  Lorg/jruby/runtime/ThreadContext;
            0    9     2   ifnone  Lorg/jruby/runtime/builtin/IRubyObject;
            0    9     3    block  Lorg/jruby/runtime/Block;
            1    6     4        i  I
            3    4     5    value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      ifnone   
      block    

  public static void marshalTo(org.jruby.RubyArray, org.jruby.runtime.marshal.MarshalStream);
    descriptor: (Lorg/jruby/RubyArray;Lorg/jruby/runtime/marshal/MarshalStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray array
        start local 1 // org.jruby.runtime.marshal.MarshalStream output
         0: .line 4788
            aload 1 /* output */
            aload 0 /* array */
            invokevirtual org.jruby.runtime.marshal.MarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 4790
            aload 0 /* array */
            getfield org.jruby.RubyArray.realLength:I
            istore 2 /* length */
        start local 2 // int length
         2: .line 4792
            aload 1 /* output */
            iload 2 /* length */
            invokevirtual org.jruby.runtime.marshal.MarshalStream.writeInt:(I)V
         3: .line 4794
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 4795
      StackMap locals: int int
      StackMap stack:
            aload 1 /* output */
            aload 0 /* array */
            iload 3 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.runtime.marshal.MarshalStream.dumpObject:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         6: .line 4794
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 3 // int i
         8: .line 4797
            goto 11
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.marshal.MarshalStream int
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         9: astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        10: .line 4798
            aload 0 /* array */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        11: .line 4800
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int length
        end local 1 // org.jruby.runtime.marshal.MarshalStream output
        end local 0 // org.jruby.RubyArray array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0   array  Lorg/jruby/RubyArray;
            0   12     1  output  Lorg/jruby/runtime/marshal/MarshalStream;
            2   12     2  length  I
            4    8     3       i  I
           10   11     3      ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           3     8       9  Class java.lang.ArrayIndexOutOfBoundsException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      array   
      output  

  public static org.jruby.RubyArray unmarshalFrom(org.jruby.runtime.marshal.UnmarshalStream);
    descriptor: (Lorg/jruby/runtime/marshal/UnmarshalStream;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.jruby.runtime.marshal.UnmarshalStream input
         0: .line 4803
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.getRuntime:()Lorg/jruby/Ruby;
            astore 1 /* runtime */
        start local 1 // org.jruby.Ruby runtime
         1: .line 4804
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalInt:()I
            istore 2 /* size */
        start local 2 // int size
         2: .line 4807
            aload 1 /* runtime */
            iload 2 /* size */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            astore 3 /* result */
        start local 3 // org.jruby.RubyArray result
         3: .line 4809
            aload 0 /* input */
            aload 3 /* result */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.registerLinkTarget:(Lorg/jruby/runtime/builtin/IRubyObject;)V
         4: .line 4811
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 4812
      StackMap locals: org.jruby.runtime.marshal.UnmarshalStream org.jruby.Ruby int org.jruby.RubyArray int
      StackMap stack:
            aload 3 /* result */
            iload 4 /* i */
            aload 0 /* input */
            invokevirtual org.jruby.runtime.marshal.UnmarshalStream.unmarshalObject:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.storeInternal:(ILorg/jruby/runtime/builtin/IRubyObject;)V
         7: .line 4811
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 6
        end local 4 // int i
         9: .line 4815
            aload 3 /* result */
            areturn
        end local 3 // org.jruby.RubyArray result
        end local 2 // int size
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.marshal.UnmarshalStream input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0    input  Lorg/jruby/runtime/marshal/UnmarshalStream;
            1   10     1  runtime  Lorg/jruby/Ruby;
            2   10     2     size  I
            3   10     3   result  Lorg/jruby/RubyArray;
            5    9     4        i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static org.jruby.RubyArray newBlankArray(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int size
         0: .line 4831
            iload 1 /* size */
            tableswitch { // 0 - 2
                    0: 1
                    1: 2
                    2: 3
              default: 4
          }
         1: .line 4833
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         2: .line 4835
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 4
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         3: .line 4838
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 4
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject;
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         4: .line 4842
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            iload 1 /* size */
            invokestatic org.jruby.RubyArray.newArray:(Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
            areturn
        end local 1 // int size
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  runtime  Lorg/jruby/Ruby;
            0    5     1     size  I
    MethodParameters:
         Name  Flags
      runtime  
      size     

  static org.jruby.RubyArray newBlankArrayInternal(org.jruby.Ruby, int);
    descriptor: (Lorg/jruby/Ruby;I)Lorg/jruby/RubyArray;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int size
         0: .line 4847
            aload 0 /* runtime */
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getArray:()Lorg/jruby/RubyClass;
            iload 1 /* size */
            invokestatic org.jruby.RubyArray.newBlankArrayInternal:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)Lorg/jruby/RubyArray;
            areturn
        end local 1 // int size
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1     size  I
    MethodParameters:
         Name  Flags
      runtime  
      size     

  static org.jruby.RubyArray newBlankArrayInternal(org.jruby.Ruby, org.jruby.RubyClass, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)Lorg/jruby/RubyArray;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyClass metaClass
        start local 2 // int size
         0: .line 4852
            iload 2 /* size */
            tableswitch { // 0 - 2
                    0: 1
                    1: 2
                    2: 3
              default: 4
          }
         1: .line 4854
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            invokestatic org.jruby.RubyArray.newEmptyArray:(Lorg/jruby/Ruby;)Lorg/jruby/RubyArray;
            areturn
         2: .line 4856
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 4
            new org.jruby.specialized.RubyArrayOneObject
            dup
            aload 1 /* metaClass */
            aconst_null
            invokespecial org.jruby.specialized.RubyArrayOneObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         3: .line 4859
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.USE_PACKED_ARRAYS:Z
            ifeq 4
            new org.jruby.specialized.RubyArrayTwoObject
            dup
            aload 1 /* metaClass */
            aconst_null
            aconst_null
            invokespecial org.jruby.specialized.RubyArrayTwoObject.<init>:(Lorg/jruby/RubyClass;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)V
            areturn
         4: .line 4863
      StackMap locals:
      StackMap stack:
            new org.jruby.RubyArray
            dup
            aload 0 /* runtime */
            aload 1 /* metaClass */
            iload 2 /* size */
            invokespecial org.jruby.RubyArray.<init>:(Lorg/jruby/Ruby;Lorg/jruby/RubyClass;I)V
            areturn
        end local 2 // int size
        end local 1 // org.jruby.RubyClass metaClass
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0    runtime  Lorg/jruby/Ruby;
            0    5     1  metaClass  Lorg/jruby/RubyClass;
            0    5     2       size  I
    MethodParameters:
           Name  Flags
      runtime    
      metaClass  
      size       

  public static org.jruby.runtime.builtin.IRubyObject try_convert(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject self
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 4868
            aload 2 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.checkArrayType:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg
        end local 1 // org.jruby.runtime.builtin.IRubyObject self
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
            0    1     1     self  Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2      arg  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"try_convert"}, meta = true)
    MethodParameters:
         Name  Flags
      context  
      self     
      arg      

  public org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
         0: .line 4873
            aload 2 /* obj */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            astore 3 /* format */
        start local 3 // org.jruby.RubyString format
         1: .line 4875
            aload 1 /* context */
            aload 0 /* this */
            aload 3 /* format */
            invokestatic org.jruby.util.Pack.pack:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
         2: areturn
         3: .line 4876
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 4 /* e */
        start local 4 // java.lang.ArrayIndexOutOfBoundsException e
         4: .line 4877
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 4 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.ArrayIndexOutOfBoundsException e
        end local 3 // org.jruby.RubyString format
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/jruby/RubyArray<TT;>;
            0    5     1  context  Lorg/jruby/runtime/ThreadContext;
            0    5     2      obj  Lorg/jruby/runtime/builtin/IRubyObject;
            1    5     3   format  Lorg/jruby/RubyString;
            4    5     4        e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"pack"}, required = 1)
    MethodParameters:
         Name  Flags
      context  
      obj      

  public org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject obj
        start local 3 // org.jruby.runtime.builtin.IRubyObject maybeOpts
         0: .line 4883
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         1: .line 4884
            aload 4 /* runtime */
            aload 3 /* maybeOpts */
            invokestatic org.jruby.ast.util.ArgsUtil.getOptionsArg:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* opts */
        start local 5 // org.jruby.runtime.builtin.IRubyObject opts
         2: .line 4885
            aconst_null
            astore 6 /* buffer */
        start local 6 // org.jruby.runtime.builtin.IRubyObject buffer
         3: .line 4887
            aload 5 /* opts */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 8
         4: .line 4888
            aload 1 /* context */
            aload 5 /* opts */
            checkcast org.jruby.RubyHash
            ldc "buffer"
            invokestatic org.jruby.ast.util.ArgsUtil.extractKeywordArg:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyHash;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* buffer */
         5: .line 4889
            aload 6 /* buffer */
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 6
            aconst_null
            astore 6 /* buffer */
         6: .line 4890
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 6 /* buffer */
            ifnull 8
            aload 6 /* buffer */
            instanceof org.jruby.RubyString
            ifne 8
         7: .line 4891
            aload 4 /* runtime */
            aload 4 /* runtime */
            ldc "buffer must be String, not "
            aload 4 /* runtime */
            aload 6 /* buffer */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getType:()Lorg/jruby/RubyClass;
            invokestatic org.jruby.util.RubyStringBuilder.types:(Lorg/jruby/Ruby;Lorg/jruby/RubyModule;)Lorg/jruby/RubyString;
            invokestatic org.jruby.util.RubyStringBuilder.str:(Lorg/jruby/Ruby;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 4895
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* obj */
            invokevirtual org.jruby.RubyArray.pack:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyString;
            astore 7 /* pack */
        start local 7 // org.jruby.RubyString pack
         9: .line 4897
            aload 6 /* buffer */
            ifnull 14
        10: .line 4899
            aload 6 /* buffer */
            checkcast org.jruby.RubyString
            aload 7 /* pack */
            invokevirtual org.jruby.RubyString.append:(Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
        11: areturn
        12: .line 4900
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject org.jruby.RubyString
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 8 /* e */
        start local 8 // java.lang.ArrayIndexOutOfBoundsException e
        13: .line 4901
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 8 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 8 // java.lang.ArrayIndexOutOfBoundsException e
        14: .line 4904
      StackMap locals:
      StackMap stack:
            aload 7 /* pack */
            areturn
        end local 7 // org.jruby.RubyString pack
        end local 6 // org.jruby.runtime.builtin.IRubyObject buffer
        end local 5 // org.jruby.runtime.builtin.IRubyObject opts
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject maybeOpts
        end local 2 // org.jruby.runtime.builtin.IRubyObject obj
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/jruby/RubyArray<TT;>;
            0   15     1    context  Lorg/jruby/runtime/ThreadContext;
            0   15     2        obj  Lorg/jruby/runtime/builtin/IRubyObject;
            0   15     3  maybeOpts  Lorg/jruby/runtime/builtin/IRubyObject;
            1   15     4    runtime  Lorg/jruby/Ruby;
            2   15     5       opts  Lorg/jruby/runtime/builtin/IRubyObject;
            3   15     6     buffer  Lorg/jruby/runtime/builtin/IRubyObject;
            9   15     7       pack  Lorg/jruby/RubyString;
           13   14     8          e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"pack"})
    MethodParameters:
           Name  Flags
      context    
      obj        
      maybeOpts  

  public org.jruby.runtime.builtin.IRubyObject dig(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
         0: .line 4909
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* args */
            iconst_0
            invokevirtual org.jruby.RubyArray.dig:(Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
            0    1     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"dig"}, required = 1, rest = true)
    MethodParameters:
         Name  Flags
      context  
      args     

  final org.jruby.runtime.builtin.IRubyObject dig(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        start local 3 // int idx
         0: .line 4913
            aload 0 /* this */
            aload 2 /* args */
            iload 3 /* idx */
            iinc 3 /* idx */ 1
            aaload
            invokevirtual org.jruby.RubyArray.at:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* val */
        start local 4 // org.jruby.runtime.builtin.IRubyObject val
         1: .line 4914
            iload 3 /* idx */
            aload 2 /* args */
            arraylength
            if_icmpne 2
            aload 4 /* val */
            goto 3
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         2: aload 1 /* context */
            aload 4 /* val */
            aload 2 /* args */
            iload 3 /* idx */
            invokestatic org.jruby.RubyObject.dig:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
         3: areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject val
        end local 3 // int idx
        end local 2 // org.jruby.runtime.builtin.IRubyObject[] args
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  context  Lorg/jruby/runtime/ThreadContext;
            0    4     2     args  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     3      idx  I
            1    4     4      val  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      args     
      idx      

  private org.jruby.runtime.builtin.IRubyObject maxWithBlock(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4918
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject result
         1: .line 4920
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         2: .line 4921
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            astore 5 /* sites */
        start local 5 // org.jruby.runtime.JavaSites$ArraySites sites
         3: .line 4922
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_gt_minmax:Lorg/jruby/runtime/CallSite;
            astore 6 /* op_gt */
        start local 6 // org.jruby.runtime.CallSite op_gt
         4: .line 4923
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_lt_minmax:Lorg/jruby/runtime/CallSite;
            astore 7 /* op_lt */
        start local 7 // org.jruby.runtime.CallSite op_lt
         5: .line 4925
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: goto 11
         7: .line 4926
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.JavaSites$ArraySites org.jruby.runtime.CallSite org.jruby.runtime.CallSite int
      StackMap stack:
            aload 0 /* this */
            iload 8 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* v */
        start local 9 // org.jruby.runtime.builtin.IRubyObject v
         8: .line 4928
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 9
            aload 1 /* context */
            aload 6 /* op_gt */
            aload 7 /* op_lt */
            aload 2 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 9 /* v */
            aload 3 /* result */
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            aconst_null
            invokevirtual org.jruby.runtime.Block.yieldArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 9 /* v */
            aload 3 /* result */
            invokestatic org.jruby.RubyComparable.cmpint:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
            ifle 10
         9: .line 4929
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 9 /* v */
            astore 3 /* result */
        end local 9 // org.jruby.runtime.builtin.IRubyObject v
        10: .line 4925
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 8 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 7
        end local 8 // int i
        12: .line 4933
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 13
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        14: areturn
        end local 7 // org.jruby.runtime.CallSite op_lt
        end local 6 // org.jruby.runtime.CallSite op_gt
        end local 5 // org.jruby.runtime.JavaSites$ArraySites sites
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject result
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/RubyArray<TT;>;
            0   15     1  context  Lorg/jruby/runtime/ThreadContext;
            0   15     2    block  Lorg/jruby/runtime/Block;
            1   15     3   result  Lorg/jruby/runtime/builtin/IRubyObject;
            2   15     4  runtime  Lorg/jruby/Ruby;
            3   15     5    sites  Lorg/jruby/runtime/JavaSites$ArraySites;
            4   15     6    op_gt  Lorg/jruby/runtime/CallSite;
            5   15     7    op_lt  Lorg/jruby/runtime/CallSite;
            6   12     8        i  I
            8   10     9        v  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject max(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4938
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.maxWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 4939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmpge 2
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 4941
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject result
         3: .line 4942
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            astore 4 /* sites */
        start local 4 // org.jruby.runtime.JavaSites$ArraySites sites
         4: .line 4943
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_cmp_minmax:Lorg/jruby/runtime/callsite/CachingCallSite;
            astore 5 /* op_cmp */
        start local 5 // org.jruby.runtime.callsite.CachingCallSite op_cmp
         5: .line 4944
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_gt_minmax:Lorg/jruby/runtime/CallSite;
            astore 6 /* op_gt */
        start local 6 // org.jruby.runtime.CallSite op_gt
         6: .line 4945
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_lt_minmax:Lorg/jruby/runtime/CallSite;
            astore 7 /* op_lt */
        start local 7 // org.jruby.runtime.CallSite op_lt
         7: .line 4947
            aload 0 /* this */
            aload 5 /* op_cmp */
            invokevirtual org.jruby.RubyArray.getArg0Generation:(Lorg/jruby/runtime/callsite/CachingCallSite;)I
            istore 8 /* generation */
        start local 8 // int generation
         8: .line 4949
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 14
        10: .line 4950
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.JavaSites$ArraySites org.jruby.runtime.callsite.CachingCallSite org.jruby.runtime.CallSite org.jruby.runtime.CallSite int int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* v */
        start local 10 // org.jruby.runtime.builtin.IRubyObject v
        11: .line 4952
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 12
            aload 1 /* context */
            aload 10 /* v */
            aload 3 /* result */
            iload 8 /* generation */
            aload 5 /* op_cmp */
            aload 6 /* op_gt */
            aload 7 /* op_lt */
            invokestatic org.jruby.RubyArray.optimizedCmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/callsite/CachingCallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)I
            ifle 13
        12: .line 4953
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 10 /* v */
            astore 3 /* result */
        end local 10 // org.jruby.runtime.builtin.IRubyObject v
        13: .line 4949
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 9 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 10
        end local 9 // int i
        15: .line 4957
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 16
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 3 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        17: areturn
        end local 8 // int generation
        end local 7 // org.jruby.runtime.CallSite op_lt
        end local 6 // org.jruby.runtime.CallSite op_gt
        end local 5 // org.jruby.runtime.callsite.CachingCallSite op_cmp
        end local 4 // org.jruby.runtime.JavaSites$ArraySites sites
        end local 3 // org.jruby.runtime.builtin.IRubyObject result
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/jruby/RubyArray<TT;>;
            0   18     1     context  Lorg/jruby/runtime/ThreadContext;
            0   18     2       block  Lorg/jruby/runtime/Block;
            3   18     3      result  Lorg/jruby/runtime/builtin/IRubyObject;
            4   18     4       sites  Lorg/jruby/runtime/JavaSites$ArraySites;
            5   18     5      op_cmp  Lorg/jruby/runtime/callsite/CachingCallSite;
            6   18     6       op_gt  Lorg/jruby/runtime/CallSite;
            7   18     7       op_lt  Lorg/jruby/runtime/CallSite;
            8   18     8  generation  I
            9   15     9           i  I
           11   13    10           v  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"max"})
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject max(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.Block block
         0: .line 4962
            aload 2 /* num */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
         1: .line 4963
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* num */
            aload 3 /* block */
            invokestatic org.jruby.RubyEnumerable.max:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 4966
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.max:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"max"})
    MethodParameters:
         Name  Flags
      context  
      num      
      block    

  private org.jruby.runtime.builtin.IRubyObject minWithBlock(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4970
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject result
         1: .line 4972
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 4 /* runtime */
        start local 4 // org.jruby.Ruby runtime
         2: .line 4973
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            astore 5 /* sites */
        start local 5 // org.jruby.runtime.JavaSites$ArraySites sites
         3: .line 4974
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_gt_minmax:Lorg/jruby/runtime/CallSite;
            astore 6 /* op_gt */
        start local 6 // org.jruby.runtime.CallSite op_gt
         4: .line 4975
            aload 5 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_lt_minmax:Lorg/jruby/runtime/CallSite;
            astore 7 /* op_lt */
        start local 7 // org.jruby.runtime.CallSite op_lt
         5: .line 4977
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         6: goto 11
         7: .line 4978
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject org.jruby.Ruby org.jruby.runtime.JavaSites$ArraySites org.jruby.runtime.CallSite org.jruby.runtime.CallSite int
      StackMap stack:
            aload 0 /* this */
            iload 8 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* v */
        start local 9 // org.jruby.runtime.builtin.IRubyObject v
         8: .line 4980
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 9
            aload 1 /* context */
            aload 6 /* op_gt */
            aload 7 /* op_lt */
            aload 2 /* block */
            aload 1 /* context */
            aload 4 /* runtime */
            aload 9 /* v */
            aload 3 /* result */
            invokevirtual org.jruby.Ruby.newArray:(Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            aconst_null
            invokevirtual org.jruby.runtime.Block.yieldArray:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 9 /* v */
            aload 3 /* result */
            invokestatic org.jruby.RubyComparable.cmpint:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
            ifge 10
         9: .line 4981
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 9 /* v */
            astore 3 /* result */
        end local 9 // org.jruby.runtime.builtin.IRubyObject v
        10: .line 4977
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 8 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 7
        end local 8 // int i
        12: .line 4985
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 13
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        14: areturn
        end local 7 // org.jruby.runtime.CallSite op_lt
        end local 6 // org.jruby.runtime.CallSite op_gt
        end local 5 // org.jruby.runtime.JavaSites$ArraySites sites
        end local 4 // org.jruby.Ruby runtime
        end local 3 // org.jruby.runtime.builtin.IRubyObject result
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/jruby/RubyArray<TT;>;
            0   15     1  context  Lorg/jruby/runtime/ThreadContext;
            0   15     2    block  Lorg/jruby/runtime/Block;
            1   15     3   result  Lorg/jruby/runtime/builtin/IRubyObject;
            2   15     4  runtime  Lorg/jruby/Ruby;
            3   15     5    sites  Lorg/jruby/runtime/JavaSites$ArraySites;
            4   15     6    op_gt  Lorg/jruby/runtime/CallSite;
            5   15     7    op_lt  Lorg/jruby/runtime/CallSite;
            6   12     8        i  I
            8   10     9        v  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      context  
      block    

  public org.jruby.runtime.builtin.IRubyObject min(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.Block block
         0: .line 4990
            aload 2 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* block */
            invokevirtual org.jruby.RubyArray.minWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         1: .line 4992
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 3
         2: .line 4993
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         3: .line 4996
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            if_icmpne 5
         4: .line 4997
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         5: .line 5000
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* result */
        start local 3 // org.jruby.runtime.builtin.IRubyObject result
         6: .line 5001
            aload 1 /* context */
            invokestatic org.jruby.RubyArray.sites:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
            astore 4 /* sites */
        start local 4 // org.jruby.runtime.JavaSites$ArraySites sites
         7: .line 5002
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_cmp_minmax:Lorg/jruby/runtime/callsite/CachingCallSite;
            astore 5 /* op_cmp */
        start local 5 // org.jruby.runtime.callsite.CachingCallSite op_cmp
         8: .line 5003
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_gt_minmax:Lorg/jruby/runtime/CallSite;
            astore 6 /* op_gt */
        start local 6 // org.jruby.runtime.CallSite op_gt
         9: .line 5004
            aload 4 /* sites */
            getfield org.jruby.runtime.JavaSites$ArraySites.op_lt_minmax:Lorg/jruby/runtime/CallSite;
            astore 7 /* op_lt */
        start local 7 // org.jruby.runtime.CallSite op_lt
        10: .line 5006
            aload 0 /* this */
            aload 5 /* op_cmp */
            invokevirtual org.jruby.RubyArray.getArg0Generation:(Lorg/jruby/runtime/callsite/CachingCallSite;)I
            istore 8 /* generation */
        start local 8 // int generation
        11: .line 5008
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 17
        13: .line 5009
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.JavaSites$ArraySites org.jruby.runtime.callsite.CachingCallSite org.jruby.runtime.CallSite org.jruby.runtime.CallSite int int
      StackMap stack:
            aload 0 /* this */
            iload 9 /* i */
            i2l
            invokevirtual org.jruby.RubyArray.eltOk:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* v */
        start local 10 // org.jruby.runtime.builtin.IRubyObject v
        14: .line 5011
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpeq 15
            aload 1 /* context */
            aload 10 /* v */
            aload 3 /* result */
            iload 8 /* generation */
            aload 5 /* op_cmp */
            aload 6 /* op_gt */
            aload 7 /* op_lt */
            invokestatic org.jruby.RubyArray.optimizedCmp:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/callsite/CachingCallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)I
            ifge 16
        15: .line 5012
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 10 /* v */
            astore 3 /* result */
        end local 10 // org.jruby.runtime.builtin.IRubyObject v
        16: .line 5008
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 9 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 13
        end local 9 // int i
        18: .line 5016
            aload 3 /* result */
            getstatic org.jruby.RubyArray.UNDEF:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 19
            aload 1 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 3 /* result */
      StackMap locals:
      StackMap stack: org.jruby.runtime.builtin.IRubyObject
        20: areturn
        end local 8 // int generation
        end local 7 // org.jruby.runtime.CallSite op_lt
        end local 6 // org.jruby.runtime.CallSite op_gt
        end local 5 // org.jruby.runtime.callsite.CachingCallSite op_cmp
        end local 4 // org.jruby.runtime.JavaSites$ArraySites sites
        end local 3 // org.jruby.runtime.builtin.IRubyObject result
        end local 2 // org.jruby.runtime.Block block
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/jruby/RubyArray<TT;>;
            0   21     1     context  Lorg/jruby/runtime/ThreadContext;
            0   21     2       block  Lorg/jruby/runtime/Block;
            6   21     3      result  Lorg/jruby/runtime/builtin/IRubyObject;
            7   21     4       sites  Lorg/jruby/runtime/JavaSites$ArraySites;
            8   21     5      op_cmp  Lorg/jruby/runtime/callsite/CachingCallSite;
            9   21     6       op_gt  Lorg/jruby/runtime/CallSite;
           10   21     7       op_lt  Lorg/jruby/runtime/CallSite;
           11   21     8  generation  I
           12   18     9           i  I
           14   16    10           v  Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"min"})
    MethodParameters:
         Name  Flags
      context  
      block    

  private int getArg0Generation(org.jruby.runtime.callsite.CachingCallSite);
    descriptor: (Lorg/jruby/runtime/callsite/CachingCallSite;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.callsite.CachingCallSite op_cmp
         0: .line 5020
            aload 0 /* this */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* arg0 */
        start local 2 // org.jruby.runtime.builtin.IRubyObject arg0
         1: .line 5021
            aload 2 /* arg0 */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.getMetaClass:()Lorg/jruby/RubyClass;
            astore 3 /* metaclass */
        start local 3 // org.jruby.RubyClass metaclass
         2: .line 5022
            aload 1 /* op_cmp */
            aload 3 /* metaclass */
            invokevirtual org.jruby.runtime.callsite.CachingCallSite.retrieveCache:(Lorg/jruby/RubyClass;)Lorg/jruby/runtime/callsite/CacheEntry;
            astore 4 /* entry */
        start local 4 // org.jruby.runtime.callsite.CacheEntry entry
         3: .line 5023
            iconst_m1
            istore 5 /* generation */
        start local 5 // int generation
         4: .line 5025
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.method:Lorg/jruby/internal/runtime/methods/DynamicMethod;
            invokevirtual org.jruby.internal.runtime.methods.DynamicMethod.isBuiltin:()Z
            ifeq 6
         5: .line 5026
            aload 4 /* entry */
            getfield org.jruby.runtime.callsite.CacheEntry.token:I
            istore 5 /* generation */
         6: .line 5028
      StackMap locals: org.jruby.RubyArray org.jruby.runtime.callsite.CachingCallSite org.jruby.runtime.builtin.IRubyObject org.jruby.RubyClass org.jruby.runtime.callsite.CacheEntry int
      StackMap stack:
            iload 5 /* generation */
            ireturn
        end local 5 // int generation
        end local 4 // org.jruby.runtime.callsite.CacheEntry entry
        end local 3 // org.jruby.RubyClass metaclass
        end local 2 // org.jruby.runtime.builtin.IRubyObject arg0
        end local 1 // org.jruby.runtime.callsite.CachingCallSite op_cmp
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/jruby/RubyArray<TT;>;
            0    7     1      op_cmp  Lorg/jruby/runtime/callsite/CachingCallSite;
            1    7     2        arg0  Lorg/jruby/runtime/builtin/IRubyObject;
            2    7     3   metaclass  Lorg/jruby/RubyClass;
            3    7     4       entry  Lorg/jruby/runtime/callsite/CacheEntry;
            4    7     5  generation  I
    MethodParameters:
        Name  Flags
      op_cmp  

  public org.jruby.runtime.builtin.IRubyObject min(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
        start local 2 // org.jruby.runtime.builtin.IRubyObject num
        start local 3 // org.jruby.runtime.Block block
         0: .line 5033
            aload 2 /* num */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 2
         1: .line 5034
            aload 1 /* context */
            aload 0 /* this */
            aload 2 /* num */
            aload 3 /* block */
            invokestatic org.jruby.RubyEnumerable.min:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
         2: .line 5037
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* block */
            invokevirtual org.jruby.RubyArray.min:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.runtime.builtin.IRubyObject num
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  context  Lorg/jruby/runtime/ThreadContext;
            0    3     2      num  Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     3    block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyMethod(name = {"min"})
    MethodParameters:
         Name  Flags
      context  
      num      
      block    

  private static final int optimizedCmp(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, int, org.jruby.runtime.callsite.CachingCallSite, org.jruby.runtime.CallSite, org.jruby.runtime.CallSite);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/callsite/CachingCallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;)I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=8, locals=11, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.builtin.IRubyObject a
        start local 2 // org.jruby.runtime.builtin.IRubyObject b
        start local 3 // int token
        start local 4 // org.jruby.runtime.callsite.CachingCallSite op_cmp
        start local 5 // org.jruby.runtime.CallSite op_gt
        start local 6 // org.jruby.runtime.CallSite op_lt
         0: .line 5041
            iload 3 /* token */
            aload 1 /* a */
            checkcast org.jruby.RubyBasicObject
            getfield org.jruby.RubyBasicObject.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.generation:I
            if_icmpne 7
         1: .line 5042
            aload 1 /* a */
            instanceof org.jruby.RubyFixnum
            ifeq 5
            aload 2 /* b */
            instanceof org.jruby.RubyFixnum
            ifeq 5
         2: .line 5043
            aload 1 /* a */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 7 /* aLong */
        start local 7 // long aLong
         3: .line 5044
            aload 2 /* b */
            checkcast org.jruby.RubyFixnum
            invokevirtual org.jruby.RubyFixnum.getLongValue:()J
            lstore 9 /* bLong */
        start local 9 // long bLong
         4: .line 5045
            lload 7 /* aLong */
            lload 9 /* bLong */
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 9 // long bLong
        end local 7 // long aLong
         5: .line 5047
      StackMap locals:
      StackMap stack:
            aload 1 /* a */
            instanceof org.jruby.RubyString
            ifeq 7
            aload 2 /* b */
            instanceof org.jruby.RubyString
            ifeq 7
         6: .line 5048
            aload 1 /* a */
            checkcast org.jruby.RubyString
            aload 2 /* b */
            checkcast org.jruby.RubyString
            invokevirtual org.jruby.RubyString.op_cmp:(Lorg/jruby/RubyString;)I
            ireturn
         7: .line 5052
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 5 /* op_gt */
            aload 6 /* op_lt */
            aload 4 /* op_cmp */
            aload 0 /* context */
            aload 1 /* a */
            aload 1 /* a */
            aload 2 /* b */
            invokevirtual org.jruby.runtime.callsite.CachingCallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 1 /* a */
            aload 2 /* b */
            invokestatic org.jruby.RubyComparable.cmpint:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/CallSite;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)I
            ireturn
        end local 6 // org.jruby.runtime.CallSite op_lt
        end local 5 // org.jruby.runtime.CallSite op_gt
        end local 4 // org.jruby.runtime.callsite.CachingCallSite op_cmp
        end local 3 // int token
        end local 2 // org.jruby.runtime.builtin.IRubyObject b
        end local 1 // org.jruby.runtime.builtin.IRubyObject a
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0  context  Lorg/jruby/runtime/ThreadContext;
            0    8     1        a  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     2        b  Lorg/jruby/runtime/builtin/IRubyObject;
            0    8     3    token  I
            0    8     4   op_cmp  Lorg/jruby/runtime/callsite/CachingCallSite;
            0    8     5    op_gt  Lorg/jruby/runtime/CallSite;
            0    8     6    op_lt  Lorg/jruby/runtime/CallSite;
            3    5     7    aLong  J
            4    5     9    bLong  J
    MethodParameters:
         Name  Flags
      context  
      a        
      b        
      token    
      op_cmp   
      op_gt    
      op_lt    

  public java.lang.Class getJavaClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5057
            ldc Ljava/util/List;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public void copyInto(org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] target
        start local 2 // int start
         0: .line 5065
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 1
            aload 1 /* target */
            arraylength
            iload 2 /* start */
            isub
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5066
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 1 /* target */
            iload 2 /* start */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
         2: .line 5067
            return
        end local 2 // int start
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] target
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  target  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2   start  I
    MethodParameters:
        Name  Flags
      target  
      start   

  public void copyInto(org.jruby.runtime.builtin.IRubyObject[], int, int);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] target
        start local 2 // int start
        start local 3 // int len
         0: .line 5074
            getstatic org.jruby.RubyArray.$assertionsDisabled:Z
            ifne 1
            aload 1 /* target */
            arraylength
            iload 2 /* start */
            isub
            iload 3 /* len */
            if_icmpge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 5075
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 1 /* target */
            iload 2 /* start */
            iload 3 /* len */
            invokevirtual org.jruby.RubyArray.safeArrayCopy:([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
         2: .line 5076
            return
        end local 3 // int len
        end local 2 // int start
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] target
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jruby/RubyArray<TT;>;
            0    3     1  target  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    3     2   start  I
            0    3     3     len  I
    MethodParameters:
        Name  Flags
      target  
      start   
      len     

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5080
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ireturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5084
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;

  public boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Object element
         0: .line 5088
            aload 0 /* this */
            aload 1 /* element */
            invokevirtual org.jruby.RubyArray.indexOf:(Ljava/lang/Object;)I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object element
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  element  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      element  

  public java.lang.Object[] toArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5093
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            anewarray java.lang.Object
            astore 1 /* array */
        start local 1 // java.lang.Object[] array
         1: .line 5094
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 5095
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 1 /* array */
            iload 2 /* i */
            aload 0 /* this */
            iload 2 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Ljava/lang/Object;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            aastore
         4: .line 5094
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 3
        end local 2 // int i
         6: .line 5097
            aload 1 /* array */
            areturn
        end local 1 // java.lang.Object[] array
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/jruby/RubyArray<TT;>;
            1    7     1  array  [Ljava/lang/Object;
            2    6     2      i  I

  public java.lang.Object[] toArray(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Object[] arg
         0: .line 5102
            aload 1 /* arg */
            astore 2 /* array */
        start local 2 // java.lang.Object[] array
         1: .line 5103
            aload 2 /* array */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 3 /* type */
        start local 3 // java.lang.Class type
         2: .line 5104
            aload 2 /* array */
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmpge 4
         3: .line 5105
            aload 3 /* type */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            checkcast java.lang.Object[]
            astore 2 /* array */
         4: .line 5107
      StackMap locals: java.lang.Object[] java.lang.Class
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 4 /* length */
        start local 4 // int length
         5: .line 5109
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 9
         7: .line 5110
      StackMap locals: int int
      StackMap stack:
            aload 2 /* array */
            iload 5 /* i */
            aload 0 /* this */
            iload 5 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            aload 3 /* type */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            aastore
         8: .line 5109
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 7
        end local 5 // int i
        10: .line 5112
            aload 2 /* array */
            areturn
        end local 4 // int length
        end local 3 // java.lang.Class type
        end local 2 // java.lang.Object[] array
        end local 1 // java.lang.Object[] arg
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/jruby/RubyArray<TT;>;
            0   11     1     arg  [Ljava/lang/Object;
            1   11     2   array  [Ljava/lang/Object;
            2   11     3    type  Ljava/lang/Class;
            5   11     4  length  I
            6   10     5       i  I
    MethodParameters:
      Name  Flags
      arg   final

  public <T> T toJava(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Class target
         0: .line 5117
            aload 1 /* target */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 8
         1: .line 5118
            aload 1 /* target */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* type */
        start local 2 // java.lang.Class type
         2: .line 5119
            aload 2 /* type */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 3 /* rawJavaArray */
        start local 3 // java.lang.Object rawJavaArray
         3: .line 5121
            aload 0 /* this */
            aload 3 /* rawJavaArray */
            invokestatic org.jruby.java.util.ArrayUtils.copyDataToJavaArrayDirect:(Lorg/jruby/RubyArray;Ljava/lang/Object;)V
         4: .line 5122
            goto 7
      StackMap locals: org.jruby.RubyArray java.lang.Class java.lang.Class java.lang.Object
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         5: astore 4 /* ex */
        start local 4 // java.lang.ArrayIndexOutOfBoundsException ex
         6: .line 5123
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.getRuntime:()Lorg/jruby/Ruby;
            aload 4 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.ArrayIndexOutOfBoundsException ex
         7: .line 5125
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            aload 3 /* rawJavaArray */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object rawJavaArray
        end local 2 // java.lang.Class type
         8: .line 5127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* target */
            invokespecial org.jruby.RubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class target
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/jruby/RubyArray<TT;>;
            0    9     1        target  Ljava/lang/Class<TT;>;
            2    8     2          type  Ljava/lang/Class;
            3    8     3  rawJavaArray  Ljava/lang/Object;
            6    7     4            ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.ArrayIndexOutOfBoundsException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
        Name  Flags
      target  

  public boolean add(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Object element
         0: .line 5132
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* element */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         1: .line 5133
            iconst_1
            ireturn
        end local 1 // java.lang.Object element
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1  element  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      element  

  public boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Object element
         0: .line 5137
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 5138
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 2 /* runtime */
        start local 2 // org.jruby.Ruby runtime
         2: .line 5139
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 3 /* context */
        start local 3 // org.jruby.runtime.ThreadContext context
         3: .line 5140
            aload 2 /* runtime */
            aload 1 /* element */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* item */
        start local 4 // org.jruby.runtime.builtin.IRubyObject item
         4: .line 5141
            iconst_0
            istore 5 /* listchanged */
        start local 5 // boolean listchanged
         5: .line 5143
            iconst_0
            istore 6 /* i1 */
        start local 6 // int i1
         6: goto 13
         7: .line 5144
      StackMap locals: org.jruby.RubyArray java.lang.Object org.jruby.Ruby org.jruby.runtime.ThreadContext org.jruby.runtime.builtin.IRubyObject int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            iload 6 /* i1 */
            iadd
            aaload
            astore 7 /* e */
        start local 7 // org.jruby.runtime.builtin.IRubyObject e
         8: .line 5145
            aload 3 /* context */
            aload 7 /* e */
            aload 4 /* item */
            invokestatic org.jruby.RubyArray.equalInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Z
            ifeq 12
         9: .line 5146
            aload 0 /* this */
            iload 6 /* i1 */
            invokevirtual org.jruby.RubyArray.delete_at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
        10: .line 5147
            iconst_1
            istore 5 /* listchanged */
        11: .line 5148
            goto 14
        end local 7 // org.jruby.runtime.builtin.IRubyObject e
        12: .line 5143
      StackMap locals:
      StackMap stack:
            iinc 6 /* i1 */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* i1 */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            if_icmplt 7
        end local 6 // int i1
        14: .line 5152
      StackMap locals:
      StackMap stack:
            iload 5 /* listchanged */
            ireturn
        end local 5 // boolean listchanged
        end local 4 // org.jruby.runtime.builtin.IRubyObject item
        end local 3 // org.jruby.runtime.ThreadContext context
        end local 2 // org.jruby.Ruby runtime
        end local 1 // java.lang.Object element
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/jruby/RubyArray<TT;>;
            0   15     1      element  Ljava/lang/Object;
            2   15     2      runtime  Lorg/jruby/Ruby;
            3   15     3      context  Lorg/jruby/runtime/ThreadContext;
            4   15     4         item  Lorg/jruby/runtime/builtin/IRubyObject;
            5   15     5  listchanged  Z
            6   14     6           i1  I
            8   12     7            e  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      element  

  public boolean containsAll(java.util.Collection);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.util.Collection c
         0: .line 5156
            aload 1 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: goto 4
         2: .line 5157
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual org.jruby.RubyArray.indexOf:(Ljava/lang/Object;)I
            iconst_m1
            if_icmpne 4
         3: .line 5158
            iconst_0
            ireturn
         4: .line 5156
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 2 // java.util.Iterator iter
         5: .line 5162
            iconst_1
            ireturn
        end local 1 // java.util.Collection c
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/RubyArray<TT;>;
            0    6     1     c  Ljava/util/Collection;
            1    5     2  iter  Ljava/util/Iterator;
    MethodParameters:
      Name  Flags
      c     

  public boolean addAll(java.util.Collection);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.util.Collection c
         0: .line 5166
            aload 1 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         1: goto 3
         2: .line 5167
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual org.jruby.RubyArray.add:(Ljava/lang/Object;)Z
            pop
         3: .line 5166
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        end local 2 // java.util.Iterator iter
         4: .line 5169
            aload 1 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 1 // java.util.Collection c
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/RubyArray<TT;>;
            0    7     1     c  Ljava/util/Collection;
            1    4     2  iter  Ljava/util/Iterator;
    MethodParameters:
      Name  Flags
      c     

  public boolean addAll(int, java.util.Collection);
    descriptor: (ILjava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
        start local 2 // java.util.Collection c
         0: .line 5173
            aload 2 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         1: .line 5174
            iload 1 /* index */
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 5175
      StackMap locals: java.util.Iterator int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* i */
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual org.jruby.RubyArray.add:(ILjava/lang/Object;)V
         4: .line 5174
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 4 // int i
         6: .line 5177
            aload 2 /* c */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: ireturn
        end local 3 // java.util.Iterator iter
        end local 2 // java.util.Collection c
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/jruby/RubyArray<TT;>;
            0    9     1  index  I
            0    9     2      c  Ljava/util/Collection;
            1    9     3   iter  Ljava/util/Iterator;
            2    6     4      i  I
    MethodParameters:
       Name  Flags
      index  
      c      

  public boolean removeAll(java.util.Collection);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.util.Collection c
         0: .line 5181
            iconst_0
            istore 2 /* listChanged */
        start local 2 // boolean listChanged
         1: .line 5182
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            astore 3 /* runtime */
        start local 3 // org.jruby.Ruby runtime
         2: .line 5183
            aload 3 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            astore 4 /* context */
        start local 4 // org.jruby.runtime.ThreadContext context
         3: .line 5184
            aload 1 /* c */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
         4: goto 8
         5: .line 5185
      StackMap locals: org.jruby.RubyArray java.util.Collection int org.jruby.Ruby org.jruby.runtime.ThreadContext java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* context */
            aload 3 /* runtime */
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokevirtual org.jruby.RubyArray.delete:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 6 /* deleted */
        start local 6 // org.jruby.runtime.builtin.IRubyObject deleted
         6: .line 5186
            aload 6 /* deleted */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifne 8
         7: .line 5187
            iconst_1
            istore 2 /* listChanged */
        end local 6 // org.jruby.runtime.builtin.IRubyObject deleted
         8: .line 5184
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 5 // java.util.Iterator iter
         9: .line 5190
            iload 2 /* listChanged */
            ireturn
        end local 4 // org.jruby.runtime.ThreadContext context
        end local 3 // org.jruby.Ruby runtime
        end local 2 // boolean listChanged
        end local 1 // java.util.Collection c
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/jruby/RubyArray<TT;>;
            0   10     1            c  Ljava/util/Collection;
            1   10     2  listChanged  Z
            2   10     3      runtime  Lorg/jruby/Ruby;
            3   10     4      context  Lorg/jruby/runtime/ThreadContext;
            4    9     5         iter  Ljava/util/Iterator;
            6    8     6      deleted  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
      Name  Flags
      c     

  public boolean retainAll(java.util.Collection);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.util.Collection c
         0: .line 5194
            iconst_0
            istore 2 /* listChanged */
        start local 2 // boolean listChanged
         1: .line 5196
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: goto 7
         3: .line 5197
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 4 /* element */
        start local 4 // java.lang.Object element
         4: .line 5198
            aload 1 /* c */
            aload 4 /* element */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 5199
            aload 0 /* this */
            aload 4 /* element */
            invokevirtual org.jruby.RubyArray.remove:(Ljava/lang/Object;)Z
            pop
         6: .line 5200
            iconst_1
            istore 2 /* listChanged */
        end local 4 // java.lang.Object element
         7: .line 5196
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator iter
         8: .line 5203
            iload 2 /* listChanged */
            ireturn
        end local 2 // boolean listChanged
        end local 1 // java.util.Collection c
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/jruby/RubyArray<TT;>;
            0    9     1            c  Ljava/util/Collection;
            1    9     2  listChanged  Z
            2    8     3         iter  Ljava/util/Iterator;
            4    7     4      element  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      c     

  public java.lang.Object get(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
         0: .line 5207
            aload 0 /* this */
            iload 1 /* index */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Ljava/lang/Object;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public java.lang.Object set(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
        start local 2 // java.lang.Object element
         0: .line 5211
            aload 0 /* this */
            iload 1 /* index */
            i2l
            invokevirtual org.jruby.RubyArray.elt:(J)Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Ljava/lang/Object;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* previous */
        start local 3 // java.lang.Object previous
         1: .line 5212
            aload 0 /* this */
            iload 1 /* index */
            i2l
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 2 /* element */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.store:(JLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 5213
            aload 3 /* previous */
            areturn
        end local 3 // java.lang.Object previous
        end local 2 // java.lang.Object element
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/jruby/RubyArray<TT;>;
            0    3     1     index  I
            0    3     2   element  Ljava/lang/Object;
            1    3     3  previous  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      index    
      element  

  public void add(int, java.lang.Object);
    descriptor: (ILjava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
        start local 2 // java.lang.Object element
         0: .line 5217
            aload 0 /* this */
            iload 1 /* index */
            i2l
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 2 /* element */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual org.jruby.RubyArray.insert:(JLorg/jruby/runtime/builtin/IRubyObject;)V
         1: .line 5218
            return
        end local 2 // java.lang.Object element
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/RubyArray<TT;>;
            0    2     1    index  I
            0    2     2  element  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      index    
      element  

  public java.lang.Object remove(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
         0: .line 5221
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual org.jruby.RubyArray.delete_at:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            ldc Ljava/lang/Object;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.toJava:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int indexOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Object element
         0: .line 5225
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            istore 2 /* myBegin */
        start local 2 // int myBegin
         1: .line 5227
            aload 1 /* element */
            ifnull 9
         2: .line 5228
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* element */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* convertedElement */
        start local 3 // org.jruby.runtime.builtin.IRubyObject convertedElement
         3: .line 5230
            iload 2 /* myBegin */
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 5231
      StackMap locals: int org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 3 /* convertedElement */
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 5232
            iload 4 /* i */
            ireturn
         7: .line 5230
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* myBegin */
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iadd
            if_icmplt 5
        end local 4 // int i
        end local 3 // org.jruby.runtime.builtin.IRubyObject convertedElement
         9: .line 5236
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 2 // int myBegin
        end local 1 // java.lang.Object element
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/jruby/RubyArray<TT;>;
            0   10     1           element  Ljava/lang/Object;
            1   10     2           myBegin  I
            3    9     3  convertedElement  Lorg/jruby/runtime/builtin/IRubyObject;
            4    9     4                 i  I
    MethodParameters:
         Name  Flags
      element  

  public int lastIndexOf(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Object element
         0: .line 5240
            aload 1 /* element */
            ifnull 8
         1: .line 5241
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* element */
            invokestatic org.jruby.javasupport.JavaUtil.convertJavaToUsableRubyObject:(Lorg/jruby/Ruby;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 2 /* convertedElement */
        start local 2 // org.jruby.runtime.builtin.IRubyObject convertedElement
         2: .line 5243
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         3: goto 7
         4: .line 5244
      StackMap locals: org.jruby.runtime.builtin.IRubyObject int
      StackMap stack:
            aload 2 /* convertedElement */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 5245
            iload 3 /* i */
            ireturn
         6: .line 5243
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            ifge 4
        end local 3 // int i
        end local 2 // org.jruby.runtime.builtin.IRubyObject convertedElement
         8: .line 5250
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 1 // java.lang.Object element
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0              this  Lorg/jruby/RubyArray<TT;>;
            0    9     1           element  Ljava/lang/Object;
            2    8     2  convertedElement  Lorg/jruby/runtime/builtin/IRubyObject;
            3    8     3                 i  I
    MethodParameters:
         Name  Flags
      element  

  public java.util.Iterator iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5307
            new org.jruby.RubyArray$RubyArrayConversionIterator
            dup
            aload 0 /* this */
            invokespecial org.jruby.RubyArray$RubyArrayConversionIterator.<init>:(Lorg/jruby/RubyArray;)V
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public java.util.ListIterator listIterator();
    descriptor: ()Ljava/util/ListIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5350
            new org.jruby.RubyArray$RubyArrayConversionListIterator
            dup
            aload 0 /* this */
            invokespecial org.jruby.RubyArray$RubyArrayConversionListIterator.<init>:(Lorg/jruby/RubyArray;)V
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;

  public java.util.ListIterator listIterator(int);
    descriptor: (I)Ljava/util/ListIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int index
         0: .line 5354
            new org.jruby.RubyArray$RubyArrayConversionListIterator
            dup
            aload 0 /* this */
            iload 1 /* index */
            invokespecial org.jruby.RubyArray$RubyArrayConversionListIterator.<init>:(Lorg/jruby/RubyArray;I)V
            areturn
        end local 1 // int index
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public java.util.List subList(int, int);
    descriptor: (II)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.jruby.RubyArray this
        start local 1 // int fromIndex
        start local 2 // int toIndex
         0: .line 5359
            iload 1 /* fromIndex */
            iflt 1
            iload 2 /* toIndex */
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmpgt 1
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            if_icmple 2
         1: .line 5360
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 5363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* fromIndex */
            i2l
            iload 2 /* toIndex */
            iload 1 /* fromIndex */
            isub
            i2l
            invokevirtual org.jruby.RubyArray.subseq:(JJ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 3 /* subList */
        start local 3 // org.jruby.runtime.builtin.IRubyObject subList
         3: .line 5365
            aload 3 /* subList */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 4
            aconst_null
            goto 5
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: aload 3 /* subList */
            checkcast java.util.List
      StackMap locals:
      StackMap stack: java.util.List
         5: areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject subList
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/jruby/RubyArray<TT;>;
            0    6     1  fromIndex  I
            0    6     2    toIndex  I
            3    6     3    subList  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
           Name  Flags
      fromIndex  
      toIndex    

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5369
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.rb_clear:()Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         1: .line 5370
            return
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/RubyArray<TT;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // java.lang.Object other
         0: .line 5374
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 5375
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.RubyArray
            ifeq 3
         2: .line 5376
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* other */
            checkcast org.jruby.RubyArray
            invokevirtual org.jruby.RubyArray.op_equal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTrue:()Z
            ireturn
         3: .line 5378
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/RubyArray<TT;>;
            0    4     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  private static org.jruby.runtime.builtin.IRubyObject safeArrayRef(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        start local 2 // int i
         0: .line 5383
            aload 1 /* values */
            iload 2 /* i */
            aaload
         1: areturn
         2: .line 5384
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 3 /* ex */
        start local 3 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 5385
            aload 0 /* runtime */
            aload 3 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.ArrayIndexOutOfBoundsException ex
        end local 2 // int i
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1   values  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2        i  I
            3    4     3       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      runtime  
      values   
      i        

  private org.jruby.runtime.builtin.IRubyObject safeArraySet(org.jruby.runtime.builtin.IRubyObject[], int, org.jruby.runtime.builtin.IRubyObject);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        start local 2 // int i
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 5390
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* values */
            iload 2 /* i */
            aload 3 /* value */
            invokestatic org.jruby.RubyArray.safeArraySet:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // int i
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  values  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    1     2       i  I
            0    1     3   value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
        Name  Flags
      values  
      i       
      value   

  private static org.jruby.runtime.builtin.IRubyObject safeArraySet(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        start local 2 // int i
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 5395
            aload 1 /* values */
            iload 2 /* i */
            aload 3 /* value */
            dup_x2
            aastore
         1: areturn
         2: .line 5396
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 4 /* ex */
        start local 4 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 5397
            aload 0 /* runtime */
            aload 4 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.ArrayIndexOutOfBoundsException ex
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // int i
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  runtime  Lorg/jruby/Ruby;
            0    4     1   values  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    4     2        i  I
            0    4     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     4       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      runtime  
      values   
      i        
      value    

  private static org.jruby.runtime.builtin.IRubyObject safeArrayRefSet(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;ILorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        start local 2 // int i
        start local 3 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 5403
            aload 1 /* values */
            iload 2 /* i */
            aaload
            astore 4 /* tmp */
        start local 4 // org.jruby.runtime.builtin.IRubyObject tmp
         1: .line 5404
            aload 1 /* values */
            iload 2 /* i */
            aload 3 /* value */
            aastore
         2: .line 5405
            aload 4 /* tmp */
         3: areturn
        end local 4 // org.jruby.runtime.builtin.IRubyObject tmp
         4: .line 5406
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 4 /* e */
        start local 4 // java.lang.ArrayIndexOutOfBoundsException e
         5: .line 5407
            aload 0 /* runtime */
            aload 4 /* e */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.ArrayIndexOutOfBoundsException e
        end local 3 // org.jruby.runtime.builtin.IRubyObject value
        end local 2 // int i
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  runtime  Lorg/jruby/Ruby;
            0    6     1   values  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2        i  I
            0    6     3    value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     4      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            5    6     4        e  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      runtime  
      values   
      i        
      value    

  private static org.jruby.runtime.builtin.IRubyObject safeArrayRefCondSet(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int, boolean, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;IZLorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        start local 2 // int i
        start local 3 // boolean doSet
        start local 4 // org.jruby.runtime.builtin.IRubyObject value
         0: .line 5413
            aload 1 /* values */
            iload 2 /* i */
            aaload
            astore 5 /* tmp */
        start local 5 // org.jruby.runtime.builtin.IRubyObject tmp
         1: .line 5414
            iload 3 /* doSet */
            ifeq 2
            aload 1 /* values */
            iload 2 /* i */
            aload 4 /* value */
            aastore
         2: .line 5415
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 5 /* tmp */
         3: areturn
        end local 5 // org.jruby.runtime.builtin.IRubyObject tmp
         4: .line 5416
      StackMap locals: org.jruby.Ruby org.jruby.runtime.builtin.IRubyObject[] int int org.jruby.runtime.builtin.IRubyObject
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
            astore 5 /* ex */
        start local 5 // java.lang.ArrayIndexOutOfBoundsException ex
         5: .line 5417
            aload 0 /* runtime */
            aload 5 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.ArrayIndexOutOfBoundsException ex
        end local 4 // org.jruby.runtime.builtin.IRubyObject value
        end local 3 // boolean doSet
        end local 2 // int i
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  runtime  Lorg/jruby/Ruby;
            0    6     1   values  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     2        i  I
            0    6     3    doSet  Z
            0    6     4    value  Lorg/jruby/runtime/builtin/IRubyObject;
            1    4     5      tmp  Lorg/jruby/runtime/builtin/IRubyObject;
            5    6     5       ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
         Name  Flags
      runtime  
      values   
      i        
      doSet    
      value    

  private void safeArrayCopy(org.jruby.runtime.builtin.IRubyObject[], int, org.jruby.runtime.builtin.IRubyObject[], int, int);
    descriptor: ([Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] source
        start local 2 // int sourceStart
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] target
        start local 4 // int targetStart
        start local 5 // int length
         0: .line 5422
            aload 0 /* this */
            getfield org.jruby.RubyArray.metaClass:Lorg/jruby/RubyClass;
            getfield org.jruby.RubyClass.runtime:Lorg/jruby/Ruby;
            aload 1 /* source */
            iload 2 /* sourceStart */
            aload 3 /* target */
            iload 4 /* targetStart */
            iload 5 /* length */
            invokestatic org.jruby.RubyArray.safeArrayCopy:(Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
         1: .line 5423
            return
        end local 5 // int length
        end local 4 // int targetStart
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] target
        end local 2 // int sourceStart
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] source
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jruby/RubyArray<TT;>;
            0    2     1       source  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     2  sourceStart  I
            0    2     3       target  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    2     4  targetStart  I
            0    2     5       length  I
    MethodParameters:
             Name  Flags
      source       
      sourceStart  
      target       
      targetStart  
      length       

  private static void safeArrayCopy(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject[], int, org.jruby.runtime.builtin.IRubyObject[], int, int);
    descriptor: (Lorg/jruby/Ruby;[Lorg/jruby/runtime/builtin/IRubyObject;I[Lorg/jruby/runtime/builtin/IRubyObject;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject[] source
        start local 2 // int sourceStart
        start local 3 // org.jruby.runtime.builtin.IRubyObject[] target
        start local 4 // int targetStart
        start local 5 // int length
         0: .line 5427
            aload 1 /* source */
            iload 2 /* sourceStart */
            aload 3 /* target */
            iload 4 /* targetStart */
            iload 5 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 5428
            goto 4
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         2: astore 6 /* ex */
        start local 6 // java.lang.ArrayIndexOutOfBoundsException ex
         3: .line 5429
            aload 0 /* runtime */
            aload 6 /* ex */
            invokestatic org.jruby.RubyArray.concurrentModification:(Lorg/jruby/Ruby;Ljava/lang/Exception;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.ArrayIndexOutOfBoundsException ex
         4: .line 5431
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int length
        end local 4 // int targetStart
        end local 3 // org.jruby.runtime.builtin.IRubyObject[] target
        end local 2 // int sourceStart
        end local 1 // org.jruby.runtime.builtin.IRubyObject[] source
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      runtime  Lorg/jruby/Ruby;
            0    5     1       source  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     2  sourceStart  I
            0    5     3       target  [Lorg/jruby/runtime/builtin/IRubyObject;
            0    5     4  targetStart  I
            0    5     5       length  I
            3    4     6           ex  Ljava/lang/ArrayIndexOutOfBoundsException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
             Name  Flags
      runtime      
      source       
      sourceStart  
      target       
      targetStart  
      length       

  private static org.jruby.runtime.JavaSites$ArraySites sites(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/JavaSites$ArraySites;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.runtime.ThreadContext context
         0: .line 5434
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.sites:Lorg/jruby/runtime/JavaSites;
            getfield org.jruby.runtime.JavaSites.Array:Lorg/jruby/runtime/JavaSites$ArraySites;
            areturn
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Lorg/jruby/runtime/ThreadContext;
    MethodParameters:
         Name  Flags
      context  

  public org.jruby.runtime.builtin.IRubyObject compatc19();
    descriptor: ()Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5439
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.compact19:()Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public final org.jruby.RubyArray aryDup19();
    descriptor: ()Lorg/jruby/RubyArray;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.RubyArray this
         0: .line 5444
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.aryDup:()Lorg/jruby/RubyArray;
            areturn
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/RubyArray<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void ensureCapacity(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // int minCapacity
         0: .line 5453
            aload 0 /* this */
            invokevirtual org.jruby.RubyArray.unpack:()V
         1: .line 5454
            aload 0 /* this */
            getfield org.jruby.RubyArray.isShared:Z
            ifne 2
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            arraylength
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            isub
            iload 1 /* minCapacity */
            if_icmpge 10
         2: .line 5455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.RubyArray.realLength:I
            istore 2 /* len */
        start local 2 // int len
         3: .line 5456
            iload 1 /* minCapacity */
            iload 2 /* len */
            if_icmple 4
            iload 1 /* minCapacity */
            goto 5
      StackMap locals: int
      StackMap stack:
         4: iload 2 /* len */
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* newCapacity */
        start local 3 // int newCapacity
         6: .line 5457
            iload 3 /* newCapacity */
            invokestatic org.jruby.runtime.builtin.IRubyObject.array:(I)[Lorg/jruby/runtime/builtin/IRubyObject;
            astore 4 /* values */
        start local 4 // org.jruby.runtime.builtin.IRubyObject[] values
         7: .line 5458
            aload 0 /* this */
            getfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
            aload 0 /* this */
            getfield org.jruby.RubyArray.begin:I
            aload 4 /* values */
            iconst_0
            iload 2 /* len */
            invokestatic org.jruby.util.ArraySupport.copy:([Ljava/lang/Object;I[Ljava/lang/Object;II)V
         8: .line 5459
            aload 0 /* this */
            aload 4 /* values */
            putfield org.jruby.RubyArray.values:[Lorg/jruby/runtime/builtin/IRubyObject;
         9: .line 5460
            aload 0 /* this */
            iconst_0
            putfield org.jruby.RubyArray.begin:I
        end local 4 // org.jruby.runtime.builtin.IRubyObject[] values
        end local 3 // int newCapacity
        end local 2 // int len
        10: .line 5462
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int minCapacity
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/jruby/RubyArray<TT;>;
            0   11     1  minCapacity  I
            3   10     2          len  I
            6   10     3  newCapacity  I
            7   10     4       values  [Lorg/jruby/runtime/builtin/IRubyObject;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      minCapacity  

  public org.jruby.runtime.builtin.IRubyObject flatten_bang19(org.jruby.runtime.ThreadContext);
    descriptor: (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.RubyArray this
        start local 1 // org.jruby.runtime.ThreadContext context
         0: .line 5466
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.jruby.RubyArray.flatten_bang:(Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 1 // org.jruby.runtime.ThreadContext context
        end local 0 // org.jruby.RubyArray this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/jruby/RubyArray<TT;>;
            0    1     1  context  Lorg/jruby/runtime/ThreadContext;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      context  
}
Signature: <T::Lorg/jruby/runtime/builtin/IRubyObject;>Lorg/jruby/RubyObject;Ljava/util/List;Ljava/util/RandomAccess;
SourceFile: "RubyArray.java"
NestMembers:
  org.jruby.RubyArray$1  org.jruby.RubyArray$10  org.jruby.RubyArray$11  org.jruby.RubyArray$2  org.jruby.RubyArray$3  org.jruby.RubyArray$4  org.jruby.RubyArray$5  org.jruby.RubyArray$6  org.jruby.RubyArray$7  org.jruby.RubyArray$8  org.jruby.RubyArray$9  org.jruby.RubyArray$ArgumentVisitor  org.jruby.RubyArray$BlockComparator  org.jruby.RubyArray$DefaultComparator  org.jruby.RubyArray$JoinRecursive  org.jruby.RubyArray$JoinRecursive$State  org.jruby.RubyArray$RubyArrayConversionIterator  org.jruby.RubyArray$RubyArrayConversionListIterator
InnerClasses:
  org.jruby.RubyArray$1
  org.jruby.RubyArray$10
  org.jruby.RubyArray$11
  org.jruby.RubyArray$2
  org.jruby.RubyArray$3
  org.jruby.RubyArray$4
  org.jruby.RubyArray$5
  org.jruby.RubyArray$6
  org.jruby.RubyArray$7
  org.jruby.RubyArray$8
  org.jruby.RubyArray$9
  public abstract ArgumentVisitor = org.jruby.RubyArray$ArgumentVisitor of org.jruby.RubyArray
  BlockComparator = org.jruby.RubyArray$BlockComparator of org.jruby.RubyArray
  public DefaultComparator = org.jruby.RubyArray$DefaultComparator of org.jruby.RubyArray
  private JoinRecursive = org.jruby.RubyArray$JoinRecursive of org.jruby.RubyArray
  protected State = org.jruby.RubyArray$JoinRecursive$State of org.jruby.RubyArray$JoinRecursive
  public RubyArrayConversionIterator = org.jruby.RubyArray$RubyArrayConversionIterator of org.jruby.RubyArray
  final RubyArrayConversionListIterator = org.jruby.RubyArray$RubyArrayConversionListIterator of org.jruby.RubyArray
  public abstract SizeFn = org.jruby.RubyEnumerator$SizeFn of org.jruby.RubyEnumerator
  public abstract VisitorWithState = org.jruby.RubyHash$VisitorWithState of org.jruby.RubyHash
  public final JavaClassKindOf = org.jruby.RubyModule$JavaClassKindOf of org.jruby.RubyModule
  public final RandomType = org.jruby.RubyRandom$RandomType of org.jruby.RubyRandom
  public final ID = org.jruby.common.IRubyWarnings$ID of org.jruby.common.IRubyWarnings
  public ArraySites = org.jruby.runtime.JavaSites$ArraySites of org.jruby.runtime.JavaSites
  public CheckedSites = org.jruby.runtime.JavaSites$CheckedSites of org.jruby.runtime.JavaSites
  public abstract RecursiveFunctionEx = org.jruby.runtime.ThreadContext$RecursiveFunctionEx of org.jruby.runtime.ThreadContext
    RuntimeVisibleAnnotations: 
      org.jruby.anno.JRubyClass(name = {"Array"}, include = {"Enumerable"})