public class org.jruby.util.ByteList implements java.lang.Comparable, java.lang.CharSequence, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.util.ByteList
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1286166947275543731

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

  public static final org.jruby.util.ByteList EMPTY_BYTELIST;
    descriptor: Lorg/jruby/util/ByteList;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.nio.charset.Charset ISO_LATIN_1;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public byte[] bytes;
    descriptor: [B
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int begin;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int realSize;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private org.jcodings.Encoding encoding;
    descriptor: Lorg/jcodings/Encoding;
    flags: (0x0002) ACC_PRIVATE

  transient int hash;
    descriptor: I
    flags: (0x0080) ACC_TRANSIENT

  transient java.lang.String stringValue;
    descriptor: Ljava/lang/String;
    flags: (0x0080) ACC_TRANSIENT

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

  private static final java.util.concurrent.ConcurrentMap<java.lang.String, java.nio.charset.Charset> charsetsByAlias;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/nio/charset/Charset;>;

  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=4, locals=0, args_size=0
         0: .line 54
            ldc Lorg/jruby/util/ByteList;
            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.util.ByteList.$assertionsDisabled:Z
         3: .line 57
            iconst_0
            newarray 8
            putstatic org.jruby.util.ByteList.NULL_ARRAY:[B
         4: .line 58
            new org.jruby.util.ByteList
            dup
            getstatic org.jruby.util.ByteList.NULL_ARRAY:[B
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            putstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
         5: .line 60
            ldc "ISO-8859-1"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putstatic org.jruby.util.ByteList.ISO_LATIN_1:Ljava/nio/charset/Charset;
         6: .line 1230
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic org.jruby.util.ByteList.charsetsByAlias:Ljava/util/concurrent/ConcurrentMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 83
            aload 0 /* this */
            iconst_4
            invokespecial org.jruby.util.ByteList.<init>:(I)V
         1: .line 84
            return
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/ByteList;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int size
         0: .line 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         2: .line 93
            aload 0 /* this */
            iload 1 /* size */
            newarray 8
            putfield org.jruby.util.ByteList.bytes:[B
         3: .line 94
            aload 0 /* this */
            iconst_0
            putfield org.jruby.util.ByteList.realSize:I
         4: .line 95
            return
        end local 1 // int size
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/util/ByteList;
            0    5     1  size  I
    MethodParameters:
      Name  Flags
      size  

  public void <init>(byte[], org.jcodings.Encoding);
    descriptor: ([BLorg/jcodings/Encoding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] bytes
        start local 2 // org.jcodings.Encoding encoding
         0: .line 109
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         2: .line 110
            aload 0 /* this */
            aload 1 /* bytes */
            putfield org.jruby.util.ByteList.bytes:[B
         3: .line 111
            aload 0 /* this */
            aload 1 /* bytes */
            arraylength
            putfield org.jruby.util.ByteList.realSize:I
         4: .line 112
            aload 0 /* this */
            aload 2 /* encoding */
            invokestatic org.jruby.util.ByteList.safeEncoding:(Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         5: .line 113
            return
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // byte[] bytes
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/jruby/util/ByteList;
            0    6     1     bytes  [B
            0    6     2  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      bytes     
      encoding  

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] wrap
         0: .line 122
            aload 0 /* this */
            aload 1 /* wrap */
            iconst_1
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
         1: .line 123
            return
        end local 1 // byte[] wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/ByteList;
            0    2     1  wrap  [B
    MethodParameters:
      Name  Flags
      wrap  

  public void <init>(byte[], boolean);
    descriptor: ([BZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] wrap
        start local 2 // boolean copy
         0: .line 134
            aload 0 /* this */
            aload 1 /* wrap */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            iload 2 /* copy */
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
         1: .line 135
            return
        end local 2 // boolean copy
        end local 1 // byte[] wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/ByteList;
            0    2     1  wrap  [B
            0    2     2  copy  Z
    MethodParameters:
      Name  Flags
      wrap  
      copy  

  public void <init>(byte[], org.jcodings.Encoding, boolean);
    descriptor: ([BLorg/jcodings/Encoding;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] wrap
        start local 2 // org.jcodings.Encoding encoding
        start local 3 // boolean copy
         0: .line 146
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         2: .line 147
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 3
            aload 1 /* wrap */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 148
      StackMap locals: org.jruby.util.ByteList byte[] org.jcodings.Encoding int
      StackMap stack:
            iload 3 /* copy */
            ifeq 6
         4: .line 149
            aload 0 /* this */
            aload 1 /* wrap */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield org.jruby.util.ByteList.bytes:[B
         5: .line 150
            goto 7
         6: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* wrap */
            putfield org.jruby.util.ByteList.bytes:[B
         7: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* wrap */
            arraylength
            putfield org.jruby.util.ByteList.realSize:I
         8: .line 154
            aload 0 /* this */
            aload 2 /* encoding */
            invokestatic org.jruby.util.ByteList.safeEncoding:(Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         9: .line 155
            return
        end local 3 // boolean copy
        end local 2 // org.jcodings.Encoding encoding
        end local 1 // byte[] wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/jruby/util/ByteList;
            0   10     1      wrap  [B
            0   10     2  encoding  Lorg/jcodings/Encoding;
            0   10     3      copy  Z
    MethodParameters:
          Name  Flags
      wrap      
      encoding  
      copy      

  public void <init>(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList wrap
         0: .line 164
            aload 0 /* this */
            aload 1 /* wrap */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* wrap */
            getfield org.jruby.util.ByteList.begin:I
            aload 1 /* wrap */
            getfield org.jruby.util.ByteList.realSize:I
            aload 1 /* wrap */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            iconst_1
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
         1: .line 165
            return
        end local 1 // org.jruby.util.ByteList wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/ByteList;
            0    2     1  wrap  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      wrap  

  public void <init>(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] wrap
        start local 2 // int index
        start local 3 // int len
         0: .line 177
            aload 0 /* this */
            aload 1 /* wrap */
            iload 2 /* index */
            iload 3 /* len */
            iconst_1
            invokespecial org.jruby.util.ByteList.<init>:([BIIZ)V
         1: .line 178
            return
        end local 3 // int len
        end local 2 // int index
        end local 1 // byte[] wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/util/ByteList;
            0    2     1   wrap  [B
            0    2     2  index  I
            0    2     3    len  I
    MethodParameters:
       Name  Flags
      wrap   
      index  
      len    

  public void <init>(byte[], int, int, boolean);
    descriptor: ([BIIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] wrap
        start local 2 // int index
        start local 3 // int len
        start local 4 // boolean copy
         0: .line 191
            aload 0 /* this */
            aload 1 /* wrap */
            iload 2 /* index */
            iload 3 /* len */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            iload 4 /* copy */
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
         1: .line 192
            return
        end local 4 // boolean copy
        end local 3 // int len
        end local 2 // int index
        end local 1 // byte[] wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/util/ByteList;
            0    2     1   wrap  [B
            0    2     2  index  I
            0    2     3    len  I
            0    2     4   copy  Z
    MethodParameters:
       Name  Flags
      wrap   
      index  
      len    
      copy   

  public void <init>(byte[], int, int, org.jcodings.Encoding, boolean);
    descriptor: ([BIILorg/jcodings/Encoding;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] wrap
        start local 2 // int index
        start local 3 // int len
        start local 4 // org.jcodings.Encoding encoding
        start local 5 // boolean copy
         0: .line 204
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         2: .line 205
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 3
            aload 1 /* wrap */
            ifnonnull 3
            new java.lang.AssertionError
            dup
            ldc "'wrap' must not be null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 206
      StackMap locals: org.jruby.util.ByteList byte[] int int org.jcodings.Encoding int
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 5
            iload 2 /* index */
            iflt 4
            iload 2 /* index */
            aload 1 /* wrap */
            arraylength
            if_icmple 5
      StackMap locals:
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            ldc "'index' is not without bounds of 'wrap' array"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 207
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 6
            aload 1 /* wrap */
            arraylength
            iload 2 /* index */
            iload 3 /* len */
            iadd
            if_icmpge 6
            new java.lang.AssertionError
            dup
            ldc "'index' + 'len' is longer than the 'wrap' array"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 209
      StackMap locals:
      StackMap stack:
            iload 5 /* copy */
            ifeq 10
         7: .line 210
            aload 0 /* this */
            iload 3 /* len */
            newarray 8
            putfield org.jruby.util.ByteList.bytes:[B
         8: .line 211
            aload 1 /* wrap */
            iload 2 /* index */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iconst_0
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 212
            goto 12
        10: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* index */
            putfield org.jruby.util.ByteList.begin:I
        11: .line 214
            aload 0 /* this */
            aload 1 /* wrap */
            putfield org.jruby.util.ByteList.bytes:[B
        12: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* len */
            putfield org.jruby.util.ByteList.realSize:I
        13: .line 217
            aload 0 /* this */
            aload 4 /* encoding */
            invokestatic org.jruby.util.ByteList.safeEncoding:(Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
        14: .line 218
            return
        end local 5 // boolean copy
        end local 4 // org.jcodings.Encoding encoding
        end local 3 // int len
        end local 2 // int index
        end local 1 // byte[] wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/jruby/util/ByteList;
            0   15     1      wrap  [B
            0   15     2     index  I
            0   15     3       len  I
            0   15     4  encoding  Lorg/jcodings/Encoding;
            0   15     5      copy  Z
    MethodParameters:
          Name  Flags
      wrap      
      index     
      len       
      encoding  
      copy      

  public void <init>(org.jruby.util.ByteList, int, int);
    descriptor: (Lorg/jruby/util/ByteList;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList wrap
        start local 2 // int index
        start local 3 // int len
         0: .line 230
            aload 0 /* this */
            aload 1 /* wrap */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* wrap */
            getfield org.jruby.util.ByteList.begin:I
            iload 2 /* index */
            iadd
            iload 3 /* len */
            invokespecial org.jruby.util.ByteList.<init>:([BII)V
         1: .line 231
            aload 0 /* this */
            aload 1 /* wrap */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         2: .line 232
            return
        end local 3 // int len
        end local 2 // int index
        end local 1 // org.jruby.util.ByteList wrap
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jruby/util/ByteList;
            0    3     1   wrap  Lorg/jruby/util/ByteList;
            0    3     2  index  I
            0    3     3    len  I
    MethodParameters:
       Name  Flags
      wrap   
      index  
      len    

  public void delete(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int start
        start local 2 // int len
         0: .line 242
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 2
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            if_icmplt 1
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            ldc "'start' is at invalid index"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 243
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 3
            iload 2 /* len */
            ifge 3
            new java.lang.AssertionError
            dup
            ldc "'len' must be positive"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 244
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 4
            iload 1 /* start */
            iload 2 /* len */
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            if_icmple 4
            new java.lang.AssertionError
            dup
            ldc "too many bytes requested"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* len */
            isub
            putfield org.jruby.util.ByteList.realSize:I
         5: .line 248
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* start */
            iload 2 /* len */
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* start */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 249
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         7: .line 250
            return
        end local 2 // int len
        end local 1 // int start
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/jruby/util/ByteList;
            0    8     1  start  I
            0    8     2    len  I
    MethodParameters:
       Name  Flags
      start  
      len    

  public void fill(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int b
        start local 2 // int len
         0: .line 260
            iload 2 /* len */
            tableswitch { // 0 - 3
                    0: 1
                    1: 2
                    2: 6
                    3: 10
              default: 14
          }
         1: .line 261
      StackMap locals:
      StackMap stack:
            return
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         3: .line 264
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            istore 3 /* i */
        start local 3 // int i
         4: .line 265
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 3 /* i */
            iload 1 /* b */
            i2b
            bastore
         5: .line 266
            goto 21
        end local 3 // int i
         6: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         7: .line 269
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            istore 3 /* i */
        start local 3 // int i
         8: .line 270
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 3 /* i */
            iload 1 /* b */
            i2b
            bastore
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 3 /* i */
            iconst_1
            iadd
            iload 1 /* b */
            i2b
            bastore
         9: .line 271
            goto 21
        end local 3 // int i
        10: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            invokevirtual org.jruby.util.ByteList.grow:(I)V
        11: .line 274
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            istore 3 /* i */
        start local 3 // int i
        12: .line 275
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 3 /* i */
            iload 1 /* b */
            i2b
            bastore
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 3 /* i */
            iconst_1
            iadd
            iload 1 /* b */
            i2b
            bastore
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 3 /* i */
            iconst_2
            iadd
            iload 1 /* b */
            i2b
            bastore
        13: .line 276
            goto 21
        end local 3 // int i
        14: .line 278
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            ifge 15
            return
        15: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* len */
            invokevirtual org.jruby.util.ByteList.grow:(I)V
        16: .line 281
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            istore 3 /* i */
        start local 3 // int i
        17: .line 282
            iload 2 /* len */
            istore 4 /* s */
        start local 4 // int s
        18: goto 20
      StackMap locals: int int
      StackMap stack:
        19: aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 3 /* i */
            iload 1 /* b */
            i2b
            bastore
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iinc 4 /* s */ -1
            iload 4 /* s */
            ifge 19
        end local 4 // int s
        21: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* len */
            iadd
            putfield org.jruby.util.ByteList.realSize:I
        22: .line 285
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
        23: .line 286
            return
        end local 3 // int i
        end local 2 // int len
        end local 1 // int b
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lorg/jruby/util/ByteList;
            0   24     1     b  I
            0   24     2   len  I
            4    6     3     i  I
            8   10     3     i  I
           12   14     3     i  I
           17   24     3     i  I
           18   21     4     s  I
    MethodParameters:
      Name  Flags
      b     final
      len   final

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 293
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.dup:()Lorg/jruby/util/ByteList;
            areturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public org.jruby.util.ByteList dup();
    descriptor: ()Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 301
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokevirtual org.jruby.util.ByteList.dup:(I)Lorg/jruby/util/ByteList;
            astore 1 /* dup */
        start local 1 // org.jruby.util.ByteList dup
         1: .line 302
            aload 1 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.hash:I
            putfield org.jruby.util.ByteList.hash:I
         2: .line 303
            aload 1 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.stringValue:Ljava/lang/String;
            putfield org.jruby.util.ByteList.stringValue:Ljava/lang/String;
         3: .line 304
            aload 1 /* dup */
            areturn
        end local 1 // org.jruby.util.ByteList dup
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jruby/util/ByteList;
            1    4     1   dup  Lorg/jruby/util/ByteList;

  public org.jruby.util.ByteList shallowDup();
    descriptor: ()Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 313
            new org.jruby.util.ByteList
            dup
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            astore 1 /* dup */
        start local 1 // org.jruby.util.ByteList dup
         1: .line 314
            aload 1 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            putfield org.jruby.util.ByteList.realSize:I
         2: .line 315
            aload 1 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            putfield org.jruby.util.ByteList.begin:I
         3: .line 316
            aload 1 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.ByteList.safeEncoding:(Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         4: .line 317
            aload 1 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.hash:I
            putfield org.jruby.util.ByteList.hash:I
         5: .line 318
            aload 1 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.stringValue:Ljava/lang/String;
            putfield org.jruby.util.ByteList.stringValue:Ljava/lang/String;
         6: .line 319
            aload 1 /* dup */
            areturn
        end local 1 // org.jruby.util.ByteList dup
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/jruby/util/ByteList;
            1    7     1   dup  Lorg/jruby/util/ByteList;

  public org.jruby.util.ByteList dup(int);
    descriptor: (I)Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int length
         0: .line 329
            new org.jruby.util.ByteList
            dup
            iload 1 /* length */
            invokespecial org.jruby.util.ByteList.<init>:(I)V
            astore 2 /* dup */
        start local 2 // org.jruby.util.ByteList dup
         1: .line 331
            aload 2 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         2: .line 332
            aload 2 /* dup */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            invokestatic org.jruby.util.ByteList.safeEncoding:(Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         3: .line 334
            aload 2 /* dup */
            areturn
        end local 2 // org.jruby.util.ByteList dup
        end local 1 // int length
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/util/ByteList;
            0    4     1  length  I
            1    4     2     dup  Lorg/jruby/util/ByteList;
    MethodParameters:
        Name  Flags
      length  

  public void ensure(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int length
         0: .line 344
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* length */
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            arraylength
            if_icmple 6
         1: .line 345
            ldc 2147483647
            iload 1 /* length */
            iload 1 /* length */
            iconst_1
            iushr
            iadd
            invokestatic java.lang.Math.min:(II)I
            newarray 8
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         2: .line 346
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 347
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.jruby.util.ByteList.bytes:[B
         4: .line 348
            aload 0 /* this */
            iconst_0
            putfield org.jruby.util.ByteList.begin:I
         5: .line 349
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
        end local 2 // byte[] tmp
         6: .line 351
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int length
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/util/ByteList;
            0    7     1  length  I
            2    6     2     tmp  [B
    MethodParameters:
        Name  Flags
      length  

  public org.jruby.util.ByteList makeShared(int, int);
    descriptor: (II)Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int index
        start local 2 // int len
         0: .line 365
            new org.jruby.util.ByteList
            dup
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;)V
            astore 3 /* shared */
        start local 3 // org.jruby.util.ByteList shared
         1: .line 367
            aload 3 /* shared */
            iload 2 /* len */
            putfield org.jruby.util.ByteList.realSize:I
         2: .line 368
            aload 3 /* shared */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* index */
            iadd
            putfield org.jruby.util.ByteList.begin:I
         3: .line 370
            aload 3 /* shared */
            areturn
        end local 3 // org.jruby.util.ByteList shared
        end local 2 // int len
        end local 1 // int index
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jruby/util/ByteList;
            0    4     1   index  I
            0    4     2     len  I
            1    4     3  shared  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      index  
      len    

  public void view(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int index
        start local 2 // int len
         0: .line 380
            aload 0 /* this */
            iload 2 /* len */
            putfield org.jruby.util.ByteList.realSize:I
         1: .line 381
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* index */
            iadd
            putfield org.jruby.util.ByteList.begin:I
         2: .line 382
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         3: .line 383
            return
        end local 2 // int len
        end local 1 // int index
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/util/ByteList;
            0    4     1  index  I
            0    4     2    len  I
    MethodParameters:
       Name  Flags
      index  
      len    

  public void unshare();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 390
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokevirtual org.jruby.util.ByteList.unshare:(I)V
         1: .line 391
            return
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/ByteList;

  public void unshare(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int length
         0: .line 404
            iload 1 /* length */
            newarray 8
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         1: .line 405
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iload 1 /* length */
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 406
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.jruby.util.ByteList.bytes:[B
         3: .line 407
            aload 0 /* this */
            iconst_0
            putfield org.jruby.util.ByteList.begin:I
         4: .line 408
            return
        end local 2 // byte[] tmp
        end local 1 // int length
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jruby/util/ByteList;
            0    5     1  length  I
            1    5     2     tmp  [B
    MethodParameters:
        Name  Flags
      length  

  public void invalidate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 414
            aload 0 /* this */
            iconst_0
            putfield org.jruby.util.ByteList.hash:I
         1: .line 415
            aload 0 /* this */
            aconst_null
            putfield org.jruby.util.ByteList.stringValue:Ljava/lang/String;
         2: .line 416
            return
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jruby/util/ByteList;

  public void prepend(byte);
    descriptor: (B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte b
         0: .line 424
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         1: .line 425
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iconst_0
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 426
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iconst_0
            iadd
            iload 1 /* b */
            bastore
         3: .line 427
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iconst_1
            iadd
            putfield org.jruby.util.ByteList.realSize:I
         4: .line 428
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         5: .line 429
            return
        end local 1 // byte b
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jruby/util/ByteList;
            0    6     1     b  B
    MethodParameters:
      Name  Flags
      b     

  public org.jruby.util.ByteList append(byte);
    descriptor: (B)Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte b
         0: .line 438
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         1: .line 439
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            iload 1 /* b */
            bastore
         2: .line 440
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iconst_1
            iadd
            putfield org.jruby.util.ByteList.realSize:I
         3: .line 441
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         4: .line 442
            aload 0 /* this */
            areturn
        end local 1 // byte b
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jruby/util/ByteList;
            0    5     1     b  B
    MethodParameters:
      Name  Flags
      b     

  public org.jruby.util.ByteList append(int);
    descriptor: (I)Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int b
         0: .line 452
            aload 0 /* this */
            iload 1 /* b */
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 453
            aload 0 /* this */
            areturn
        end local 1 // int b
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/ByteList;
            0    2     1     b  I
    MethodParameters:
      Name  Flags
      b     

  public org.jruby.util.ByteList append(java.io.InputStream, int);
    descriptor: (Ljava/io/InputStream;I)Lorg/jruby/util/ByteList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // java.io.InputStream input
        start local 2 // int len
         0: .line 466
            aload 0 /* this */
            iload 2 /* len */
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         1: .line 467
            iconst_0
            istore 3 /* read */
        start local 3 // int read
         2: .line 469
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            istore 5 /* start */
        start local 5 // int start
         3: .line 470
            goto 8
         4: .line 471
      StackMap locals: org.jruby.util.ByteList java.io.InputStream int int top int
      StackMap stack:
            aload 1 /* input */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 5 /* start */
            iload 3 /* read */
            iadd
            iload 2 /* len */
            iload 3 /* read */
            isub
            invokevirtual java.io.InputStream.read:([BII)I
            istore 4 /* n */
        start local 4 // int n
         5: .line 472
            iload 4 /* n */
            iconst_m1
            if_icmpne 7
         6: .line 473
            iload 3 /* read */
            ifne 9
            new java.io.EOFException
            dup
            invokespecial java.io.EOFException.<init>:()V
            athrow
         7: .line 476
      StackMap locals: org.jruby.util.ByteList java.io.InputStream int int int int
      StackMap stack:
            iload 3 /* read */
            iload 4 /* n */
            iadd
            istore 3 /* read */
        end local 4 // int n
         8: .line 470
      StackMap locals: org.jruby.util.ByteList java.io.InputStream int int top int
      StackMap stack:
            iload 3 /* read */
            iload 2 /* len */
            if_icmplt 4
         9: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iload 3 /* read */
            iadd
            putfield org.jruby.util.ByteList.realSize:I
        10: .line 480
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
        11: .line 481
            aload 0 /* this */
            areturn
        end local 5 // int start
        end local 3 // int read
        end local 2 // int len
        end local 1 // java.io.InputStream input
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/jruby/util/ByteList;
            0   12     1  input  Ljava/io/InputStream;
            0   12     2    len  I
            2   12     3   read  I
            5    8     4      n  I
            3   12     5  start  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  
      len    

  public void append(java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // int len
         0: .line 492
            aload 0 /* this */
            iload 2 /* len */
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         1: .line 493
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            iload 2 /* len */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
         2: .line 494
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* len */
            iadd
            putfield org.jruby.util.ByteList.realSize:I
         3: .line 495
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         4: .line 496
            return
        end local 2 // int len
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jruby/util/ByteList;
            0    5     1  buffer  Ljava/nio/ByteBuffer;
            0    5     2     len  I
    MethodParameters:
        Name  Flags
      buffer  
      len     

  public void append(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] moreBytes
         0: .line 504
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            aload 1 /* moreBytes */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "moreBytes is null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* moreBytes */
            arraylength
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         2: .line 507
            aload 1 /* moreBytes */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            aload 1 /* moreBytes */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 508
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            aload 1 /* moreBytes */
            arraylength
            iadd
            putfield org.jruby.util.ByteList.realSize:I
         4: .line 509
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         5: .line 510
            return
        end local 1 // byte[] moreBytes
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/jruby/util/ByteList;
            0    6     1  moreBytes  [B
    MethodParameters:
           Name  Flags
      moreBytes  

  public void append(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList moreBytes
         0: .line 518
            aload 0 /* this */
            aload 1 /* moreBytes */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* moreBytes */
            getfield org.jruby.util.ByteList.begin:I
            aload 1 /* moreBytes */
            getfield org.jruby.util.ByteList.realSize:I
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         1: .line 519
            return
        end local 1 // org.jruby.util.ByteList moreBytes
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/util/ByteList;
            0    2     1  moreBytes  Lorg/jruby/util/ByteList;
    MethodParameters:
           Name  Flags
      moreBytes  

  public void append(org.jruby.util.ByteList, int, int);
    descriptor: (Lorg/jruby/util/ByteList;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList moreBytes
        start local 2 // int index
        start local 3 // int len
         0: .line 530
            aload 0 /* this */
            aload 1 /* moreBytes */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* moreBytes */
            getfield org.jruby.util.ByteList.begin:I
            iload 2 /* index */
            iadd
            iload 3 /* len */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         1: .line 531
            return
        end local 3 // int len
        end local 2 // int index
        end local 1 // org.jruby.util.ByteList moreBytes
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/util/ByteList;
            0    2     1  moreBytes  Lorg/jruby/util/ByteList;
            0    2     2      index  I
            0    2     3        len  I
    MethodParameters:
           Name  Flags
      moreBytes  
      index      
      len        

  public void append(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] moreBytes
        start local 2 // int start
        start local 3 // int len
         0: .line 542
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            aload 1 /* moreBytes */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "moreBytes is null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 543
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 3
            iload 2 /* start */
            iflt 2
            iload 2 /* start */
            aload 1 /* moreBytes */
            arraylength
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid start: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* start */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 544
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 5
            iload 3 /* len */
            iflt 4
            aload 1 /* moreBytes */
            arraylength
            iload 2 /* start */
            isub
            iload 3 /* len */
            if_icmpge 5
      StackMap locals:
      StackMap stack:
         4: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* len */
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         6: .line 547
            aload 1 /* moreBytes */
            iload 2 /* start */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            iload 3 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 548
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iload 3 /* len */
            iadd
            putfield org.jruby.util.ByteList.realSize:I
         8: .line 549
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         9: .line 550
            return
        end local 3 // int len
        end local 2 // int start
        end local 1 // byte[] moreBytes
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/jruby/util/ByteList;
            0   10     1  moreBytes  [B
            0   10     2      start  I
            0   10     3        len  I
    MethodParameters:
           Name  Flags
      moreBytes  
      start      
      len        

  public void realloc(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int length
         0: .line 560
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            iload 1 /* length */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "Invalid length"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 561
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 2
            iload 1 /* length */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            if_icmpge 2
            new java.lang.AssertionError
            dup
            ldc "length is too small"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 563
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            newarray 8
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         3: .line 564
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iconst_0
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 565
            aload 0 /* this */
            aload 2 /* tmp */
            putfield org.jruby.util.ByteList.bytes:[B
         5: .line 566
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         6: .line 567
            return
        end local 2 // byte[] tmp
        end local 1 // int length
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/jruby/util/ByteList;
            0    7     1  length  I
            3    7     2     tmp  [B
    MethodParameters:
        Name  Flags
      length  

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 575
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            ireturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

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

  public void length(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int newLength
         0: .line 593
            aload 0 /* this */
            iload 1 /* newLength */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            isub
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         1: .line 594
            aload 0 /* this */
            iload 1 /* newLength */
            putfield org.jruby.util.ByteList.realSize:I
         2: .line 595
            return
        end local 1 // int newLength
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/jruby/util/ByteList;
            0    3     1  newLength  I
    MethodParameters:
           Name  Flags
      newLength  

  public int lengthEnc();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 603
            aload 0 /* this */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            invokevirtual org.jcodings.Encoding.strLength:([BII)I
            ireturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public int get(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int index
         0: .line 613
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            iload 1 /* index */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "index must be positive"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* index */
            iadd
            baload
            sipush 255
            iand
            ireturn
        end local 1 // int index
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/util/ByteList;
            0    2     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int getEnc(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int index
         0: .line 625
            aload 0 /* this */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            iload 1 /* index */
            invokevirtual org.jcodings.Encoding.strCodeAt:([BIII)I
            ireturn
        end local 1 // int index
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/util/ByteList;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void set(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int index
        start local 2 // int b
         0: .line 635
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            iload 1 /* index */
            ifge 1
            new java.lang.AssertionError
            dup
            ldc "index must be positive"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 636
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* index */
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            if_icmplt 2
            new java.lang.AssertionError
            dup
            ldc "index is too large"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* index */
            iadd
            iload 2 /* b */
            i2b
            bastore
         3: .line 639
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         4: .line 640
            return
        end local 2 // int b
        end local 1 // int index
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/jruby/util/ByteList;
            0    5     1  index  I
            0    5     2      b  I
    MethodParameters:
       Name  Flags
      index  
      b      

  public void unsafeReplace(int, int, org.jruby.util.ByteList);
    descriptor: (IILorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int beg
        start local 2 // int len
        start local 3 // org.jruby.util.ByteList nbytes
         0: .line 647
            aload 0 /* this */
            iload 1 /* beg */
            iload 2 /* len */
            aload 3 /* nbytes */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 3 /* nbytes */
            getfield org.jruby.util.ByteList.begin:I
            aload 3 /* nbytes */
            getfield org.jruby.util.ByteList.realSize:I
            invokevirtual org.jruby.util.ByteList.unsafeReplace:(II[BII)V
         1: .line 648
            return
        end local 3 // org.jruby.util.ByteList nbytes
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/util/ByteList;
            0    2     1     beg  I
            0    2     2     len  I
            0    2     3  nbytes  Lorg/jruby/util/ByteList;
    MethodParameters:
        Name  Flags
      beg     
      len     
      nbytes  

  public void unsafeReplace(int, int, byte[]);
    descriptor: (II[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int beg
        start local 2 // int len
        start local 3 // byte[] buf
         0: .line 655
            aload 0 /* this */
            iload 1 /* beg */
            iload 2 /* len */
            aload 3 /* buf */
            iconst_0
            aload 3 /* buf */
            arraylength
            invokevirtual org.jruby.util.ByteList.unsafeReplace:(II[BII)V
         1: .line 656
            return
        end local 3 // byte[] buf
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jruby/util/ByteList;
            0    2     1   beg  I
            0    2     2   len  I
            0    2     3   buf  [B
    MethodParameters:
      Name  Flags
      beg   
      len   
      buf   

  public void unsafeReplace(int, int, byte[], int, int);
    descriptor: (II[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int beg
        start local 2 // int len
        start local 3 // byte[] nbytes
        start local 4 // int index
        start local 5 // int count
         0: .line 663
            aload 0 /* this */
            iload 5 /* count */
            iload 2 /* len */
            isub
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         1: .line 664
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iload 5 /* count */
            iadd
            iload 2 /* len */
            isub
            istore 6 /* newSize */
        start local 6 // int newSize
         2: .line 665
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* beg */
            iload 2 /* len */
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* beg */
            iload 5 /* count */
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* len */
            iload 1 /* beg */
            iadd
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 666
            aload 3 /* nbytes */
            iload 4 /* index */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* beg */
            iload 5 /* count */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 667
            aload 0 /* this */
            iload 6 /* newSize */
            putfield org.jruby.util.ByteList.realSize:I
         5: .line 668
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         6: .line 669
            return
        end local 6 // int newSize
        end local 5 // int count
        end local 4 // int index
        end local 3 // byte[] nbytes
        end local 2 // int len
        end local 1 // int beg
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/jruby/util/ByteList;
            0    7     1      beg  I
            0    7     2      len  I
            0    7     3   nbytes  [B
            0    7     4    index  I
            0    7     5    count  I
            2    7     6  newSize  I
    MethodParameters:
        Name  Flags
      beg     
      len     
      nbytes  
      index   
      count   

  public void replace(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] source
         0: .line 677
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            aload 1 /* source */
            iconst_0
            aload 1 /* source */
            arraylength
            invokevirtual org.jruby.util.ByteList.replace:(II[BII)V
         1: .line 678
            return
        end local 1 // byte[] source
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jruby/util/ByteList;
            0    2     1  source  [B
    MethodParameters:
        Name  Flags
      source  

  public void replace(int, int, org.jruby.util.ByteList);
    descriptor: (IILorg/jruby/util/ByteList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int targetOff
        start local 2 // int targetLen
        start local 3 // org.jruby.util.ByteList source
         0: .line 688
            aload 0 /* this */
            iload 1 /* targetOff */
            iload 2 /* targetLen */
            aload 3 /* source */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 3 /* source */
            getfield org.jruby.util.ByteList.begin:I
            aload 3 /* source */
            getfield org.jruby.util.ByteList.realSize:I
            invokevirtual org.jruby.util.ByteList.replace:(II[BII)V
         1: .line 689
            return
        end local 3 // org.jruby.util.ByteList source
        end local 2 // int targetLen
        end local 1 // int targetOff
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/util/ByteList;
            0    2     1  targetOff  I
            0    2     2  targetLen  I
            0    2     3     source  Lorg/jruby/util/ByteList;
    MethodParameters:
           Name  Flags
      targetOff  
      targetLen  
      source     

  public void replace(int, int, byte[]);
    descriptor: (II[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int targetOff
        start local 2 // int targetLen
        start local 3 // byte[] source
         0: .line 699
            aload 0 /* this */
            iload 1 /* targetOff */
            iload 2 /* targetLen */
            aload 3 /* source */
            iconst_0
            aload 3 /* source */
            arraylength
            invokevirtual org.jruby.util.ByteList.replace:(II[BII)V
         1: .line 700
            return
        end local 3 // byte[] source
        end local 2 // int targetLen
        end local 1 // int targetOff
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jruby/util/ByteList;
            0    2     1  targetOff  I
            0    2     2  targetLen  I
            0    2     3     source  [B
    MethodParameters:
           Name  Flags
      targetOff  
      targetLen  
      source     

  public void replace(int, int, byte[], int, int);
    descriptor: (II[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int targetOff
        start local 2 // int targetLen
        start local 3 // byte[] source
        start local 4 // int sourceOff
        start local 5 // int sourceLen
         0: .line 712
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iload 5 /* sourceLen */
            iload 2 /* targetLen */
            isub
            iadd
            istore 6 /* newSize */
        start local 6 // int newSize
         1: .line 713
            aload 0 /* this */
            iload 5 /* sourceLen */
            iload 2 /* targetLen */
            isub
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         2: .line 714
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* targetLen */
            iload 1 /* targetOff */
            iadd
            isub
            istore 7 /* tailSize */
        start local 7 // int tailSize
         3: .line 715
            iload 7 /* tailSize */
            ifeq 5
         4: .line 716
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* targetOff */
            iadd
            iload 2 /* targetLen */
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* targetOff */
            iadd
            iload 5 /* sourceLen */
            iadd
            iload 7 /* tailSize */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 718
      StackMap locals: int int
      StackMap stack:
            iload 5 /* sourceLen */
            ifeq 7
         6: .line 719
            aload 3 /* source */
            iload 4 /* sourceOff */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* targetOff */
            iadd
            iload 5 /* sourceLen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 6 /* newSize */
            putfield org.jruby.util.ByteList.realSize:I
         8: .line 722
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         9: .line 723
            return
        end local 7 // int tailSize
        end local 6 // int newSize
        end local 5 // int sourceLen
        end local 4 // int sourceOff
        end local 3 // byte[] source
        end local 2 // int targetLen
        end local 1 // int targetOff
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/jruby/util/ByteList;
            0   10     1  targetOff  I
            0   10     2  targetLen  I
            0   10     3     source  [B
            0   10     4  sourceOff  I
            0   10     5  sourceLen  I
            1   10     6    newSize  I
            3   10     7   tailSize  I
    MethodParameters:
           Name  Flags
      targetOff  
      targetLen  
      source     
      sourceOff  
      sourceLen  

  public void insert(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int index
        start local 2 // int b
         0: .line 726
            aload 0 /* this */
            iconst_1
            invokevirtual org.jruby.util.ByteList.grow:(I)V
         1: .line 727
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* index */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* index */
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iload 1 /* index */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 728
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            iload 1 /* index */
            iload 2 /* b */
            i2b
            bastore
         3: .line 729
            aload 0 /* this */
            dup
            getfield org.jruby.util.ByteList.realSize:I
            iconst_1
            iadd
            putfield org.jruby.util.ByteList.realSize:I
         4: .line 730
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         5: .line 731
            return
        end local 2 // int b
        end local 1 // int index
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jruby/util/ByteList;
            0    6     1  index  I
            0    6     2      b  I
    MethodParameters:
       Name  Flags
      index  
      b      

  public int indexOf(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int c
         0: .line 740
            aload 0 /* this */
            iload 1 /* c */
            iconst_0
            invokevirtual org.jruby.util.ByteList.indexOf:(II)I
            ireturn
        end local 1 // int c
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;
            0    1     1     c  I
    MethodParameters:
      Name  Flags
      c     

  public int indexOf(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int c
        start local 2 // int pos
         0: .line 754
            iload 1 /* c */
            sipush 255
            if_icmple 2
         1: .line 755
            iconst_m1
            ireturn
         2: .line 756
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            sipush 255
            iand
            i2b
            istore 3 /* b */
        start local 3 // byte b
         3: .line 757
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            istore 4 /* size */
        start local 4 // int size
         4: .line 758
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 5 /* buf */
        start local 5 // byte[] buf
         5: .line 759
            iload 2 /* pos */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iadd
            istore 2 /* pos */
         6: .line 760
            goto 8
      StackMap locals: int int byte[]
      StackMap stack:
         7: iinc 2 /* pos */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* pos */
            iload 4 /* size */
            if_icmpge 9
            aload 5 /* buf */
            iload 2 /* pos */
            baload
            iload 3 /* b */
            if_icmpne 7
         9: .line 761
      StackMap locals:
      StackMap stack:
            iload 2 /* pos */
            iload 4 /* size */
            if_icmpge 10
            iload 2 /* pos */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            isub
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_m1
      StackMap locals:
      StackMap stack: int
        11: ireturn
        end local 5 // byte[] buf
        end local 4 // int size
        end local 3 // byte b
        end local 2 // int pos
        end local 1 // int c
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/jruby/util/ByteList;
            0   12     1     c  I
            0   12     2   pos  I
            3   12     3     b  B
            4   12     4  size  I
            5   12     5   buf  [B
    MethodParameters:
      Name  Flags
      c     final
      pos   

  public int indexOf(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList find
         0: .line 771
            aload 0 /* this */
            aload 1 /* find */
            iconst_0
            invokevirtual org.jruby.util.ByteList.indexOf:(Lorg/jruby/util/ByteList;I)I
            ireturn
        end local 1 // org.jruby.util.ByteList find
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;
            0    1     1  find  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      find  

  public int indexOf(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList find
        start local 2 // int i
         0: .line 782
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            aload 1 /* find */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* find */
            getfield org.jruby.util.ByteList.begin:I
            aload 1 /* find */
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* i */
            invokestatic org.jruby.util.ByteList.indexOf:([BII[BIII)I
            ireturn
        end local 2 // int i
        end local 1 // org.jruby.util.ByteList find
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;
            0    1     1  find  Lorg/jruby/util/ByteList;
            0    1     2     i  I
    MethodParameters:
      Name  Flags
      find  
      i     

  static int indexOf(byte[], int, int, byte[], int, int, int);
    descriptor: ([BII[BIII)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=13, args_size=7
        start local 0 // byte[] source
        start local 1 // int sourceOffset
        start local 2 // int sourceCount
        start local 3 // byte[] target
        start local 4 // int targetOffset
        start local 5 // int targetCount
        start local 6 // int fromIndex
         0: .line 792
            iload 6 /* fromIndex */
            iload 2 /* sourceCount */
            if_icmplt 3
            iload 5 /* targetCount */
            ifne 1
            iload 2 /* sourceCount */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_m1
      StackMap locals:
      StackMap stack: int
         2: ireturn
         3: .line 793
      StackMap locals:
      StackMap stack:
            iload 6 /* fromIndex */
            ifge 4
            iconst_0
            istore 6 /* fromIndex */
         4: .line 794
      StackMap locals:
      StackMap stack:
            iload 5 /* targetCount */
            ifne 5
            iload 6 /* fromIndex */
            ireturn
         5: .line 796
      StackMap locals:
      StackMap stack:
            aload 3 /* target */
            iload 4 /* targetOffset */
            baload
            istore 7 /* first */
        start local 7 // byte first
         6: .line 797
            iload 1 /* sourceOffset */
            iload 2 /* sourceCount */
            iload 5 /* targetCount */
            isub
            iadd
            istore 8 /* max */
        start local 8 // int max
         7: .line 799
            iload 1 /* sourceOffset */
            iload 6 /* fromIndex */
            iadd
            istore 9 /* i */
        start local 9 // int i
         8: goto 20
         9: .line 800
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* source */
            iload 9 /* i */
            baload
            iload 7 /* first */
            if_icmpeq 11
      StackMap locals:
      StackMap stack:
        10: iinc 9 /* i */ 1
            iload 9 /* i */
            iload 8 /* max */
            if_icmpgt 11
            aload 0 /* source */
            iload 9 /* i */
            baload
            iload 7 /* first */
            if_icmpne 10
        11: .line 802
      StackMap locals:
      StackMap stack:
            iload 9 /* i */
            iload 8 /* max */
            if_icmpgt 19
        12: .line 803
            iload 9 /* i */
            iconst_1
            iadd
            istore 10 /* j */
        start local 10 // int j
        13: .line 804
            iload 10 /* j */
            iload 5 /* targetCount */
            iadd
            iconst_1
            isub
            istore 11 /* end */
        start local 11 // int end
        14: .line 805
            iload 4 /* targetOffset */
            iconst_1
            iadd
            istore 12 /* k */
        start local 12 // int k
        15: goto 17
      StackMap locals: int int int
      StackMap stack:
        16: iinc 10 /* j */ 1
            iinc 12 /* k */ 1
      StackMap locals:
      StackMap stack:
        17: iload 10 /* j */
            iload 11 /* end */
            if_icmpge 18
            aload 0 /* source */
            iload 10 /* j */
            baload
            aload 3 /* target */
            iload 12 /* k */
            baload
            if_icmpeq 16
        end local 12 // int k
        18: .line 807
      StackMap locals:
      StackMap stack:
            iload 10 /* j */
            iload 11 /* end */
            if_icmpne 19
            iload 9 /* i */
            iload 1 /* sourceOffset */
            isub
            ireturn
        end local 11 // int end
        end local 10 // int j
        19: .line 799
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            iload 8 /* max */
            if_icmple 9
        end local 9 // int i
        21: .line 810
            iconst_m1
            ireturn
        end local 8 // int max
        end local 7 // byte first
        end local 6 // int fromIndex
        end local 5 // int targetCount
        end local 4 // int targetOffset
        end local 3 // byte[] target
        end local 2 // int sourceCount
        end local 1 // int sourceOffset
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0        source  [B
            0   22     1  sourceOffset  I
            0   22     2   sourceCount  I
            0   22     3        target  [B
            0   22     4  targetOffset  I
            0   22     5   targetCount  I
            0   22     6     fromIndex  I
            6   22     7         first  B
            7   22     8           max  I
            8   21     9             i  I
           13   19    10             j  I
           14   19    11           end  I
           15   18    12             k  I
    MethodParameters:
              Name  Flags
      source        
      sourceOffset  
      sourceCount   
      target        
      targetOffset  
      targetCount   
      fromIndex     

  public int lastIndexOf(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int c
         0: .line 820
            aload 0 /* this */
            iload 1 /* c */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iconst_1
            isub
            invokevirtual org.jruby.util.ByteList.lastIndexOf:(II)I
            ireturn
        end local 1 // int c
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;
            0    1     1     c  I
    MethodParameters:
      Name  Flags
      c     

  public int lastIndexOf(int, int);
    descriptor: (II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int c
        start local 2 // int pos
         0: .line 834
            iload 1 /* c */
            sipush 255
            if_icmple 1
            iconst_m1
            ireturn
         1: .line 836
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            sipush 255
            iand
            i2b
            istore 3 /* b */
        start local 3 // byte b
         2: .line 837
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iadd
            istore 4 /* size */
        start local 4 // int size
         3: .line 838
            iload 2 /* pos */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iadd
            istore 2 /* pos */
         4: .line 839
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 5 /* buf */
        start local 5 // byte[] buf
         5: .line 840
            iload 2 /* pos */
            iload 4 /* size */
            if_icmplt 8
         6: .line 841
            iload 4 /* size */
            istore 2 /* pos */
         7: .line 842
            goto 9
         8: .line 843
      StackMap locals: int int byte[]
      StackMap stack:
            iinc 2 /* pos */ 1
         9: .line 845
      StackMap locals:
      StackMap stack:
            iinc 2 /* pos */ -1
            iload 2 /* pos */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            if_icmplt 10
            aload 5 /* buf */
            iload 2 /* pos */
            baload
            iload 3 /* b */
            if_icmpne 9
        10: .line 846
      StackMap locals:
      StackMap stack:
            iload 2 /* pos */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            isub
            ireturn
        end local 5 // byte[] buf
        end local 4 // int size
        end local 3 // byte b
        end local 2 // int pos
        end local 1 // int c
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/jruby/util/ByteList;
            0   11     1     c  I
            0   11     2   pos  I
            2   11     3     b  B
            3   11     4  size  I
            5   11     5   buf  [B
    MethodParameters:
      Name  Flags
      c     final
      pos   

  public int lastIndexOf(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList find
         0: .line 856
            aload 0 /* this */
            aload 1 /* find */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokevirtual org.jruby.util.ByteList.lastIndexOf:(Lorg/jruby/util/ByteList;I)I
            ireturn
        end local 1 // org.jruby.util.ByteList find
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;
            0    1     1  find  Lorg/jruby/util/ByteList;
    MethodParameters:
      Name  Flags
      find  

  public int lastIndexOf(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList find
        start local 2 // int pos
         0: .line 867
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            aload 1 /* find */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* find */
            getfield org.jruby.util.ByteList.begin:I
            aload 1 /* find */
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* pos */
            invokestatic org.jruby.util.ByteList.lastIndexOf:([BII[BIII)I
            ireturn
        end local 2 // int pos
        end local 1 // org.jruby.util.ByteList find
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;
            0    1     1  find  Lorg/jruby/util/ByteList;
            0    1     2   pos  I
    MethodParameters:
      Name  Flags
      find  
      pos   

  static int lastIndexOf(byte[], int, int, byte[], int, int, int);
    descriptor: ([BII[BIII)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=15, args_size=7
        start local 0 // byte[] source
        start local 1 // int sourceOffset
        start local 2 // int sourceCount
        start local 3 // byte[] target
        start local 4 // int targetOffset
        start local 5 // int targetCount
        start local 6 // int fromIndex
         0: .line 877
            iload 2 /* sourceCount */
            iload 5 /* targetCount */
            isub
            istore 7 /* rightIndex */
        start local 7 // int rightIndex
         1: .line 878
            iload 6 /* fromIndex */
            ifge 2
            iconst_m1
            ireturn
         2: .line 879
      StackMap locals: int
      StackMap stack:
            iload 6 /* fromIndex */
            iload 7 /* rightIndex */
            if_icmple 3
            iload 7 /* rightIndex */
            istore 6 /* fromIndex */
         3: .line 880
      StackMap locals:
      StackMap stack:
            iload 5 /* targetCount */
            ifne 4
            iload 6 /* fromIndex */
            ireturn
         4: .line 882
      StackMap locals:
      StackMap stack:
            iload 4 /* targetOffset */
            iload 5 /* targetCount */
            iadd
            iconst_1
            isub
            istore 8 /* strLastIndex */
        start local 8 // int strLastIndex
         5: .line 883
            aload 3 /* target */
            iload 8 /* strLastIndex */
            baload
            istore 9 /* strLastChar */
        start local 9 // byte strLastChar
         6: .line 884
            iload 1 /* sourceOffset */
            iload 5 /* targetCount */
            iadd
            iconst_1
            isub
            istore 10 /* min */
        start local 10 // int min
         7: .line 885
            iload 10 /* min */
            iload 6 /* fromIndex */
            iadd
            istore 11 /* i */
        start local 11 // int i
         8: .line 889
            goto 10
      StackMap locals: byte[] int int byte[] int int int int int int int int
      StackMap stack:
         9: iinc 11 /* i */ -1
      StackMap locals:
      StackMap stack:
        10: iload 11 /* i */
            iload 10 /* min */
            if_icmplt 11
            aload 0 /* source */
            iload 11 /* i */
            baload
            iload 9 /* strLastChar */
            if_icmpne 9
        11: .line 890
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            iload 10 /* min */
            if_icmpge 12
            iconst_m1
            ireturn
        12: .line 891
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            iconst_1
            isub
            istore 12 /* j */
        start local 12 // int j
        13: .line 892
            iload 12 /* j */
            iload 5 /* targetCount */
            iconst_1
            isub
            isub
            istore 13 /* start */
        start local 13 // int start
        14: .line 893
            iload 8 /* strLastIndex */
            iconst_1
            isub
            istore 14 /* k */
        start local 14 // int k
        15: .line 895
            goto 19
        16: .line 896
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* source */
            iload 12 /* j */
            iinc 12 /* j */ -1
            baload
            aload 3 /* target */
            iload 14 /* k */
            iinc 14 /* k */ -1
            baload
            if_icmpeq 19
        17: .line 897
            iinc 11 /* i */ -1
        18: .line 898
            goto 21
        19: .line 895
      StackMap locals:
      StackMap stack:
            iload 12 /* j */
            iload 13 /* start */
            if_icmpgt 16
        20: .line 901
            iload 13 /* start */
            iload 1 /* sourceOffset */
            isub
            iconst_1
            iadd
            ireturn
        end local 14 // int k
        end local 13 // int start
        end local 12 // int j
        21: .line 888
      StackMap locals:
      StackMap stack:
            goto 10
        end local 11 // int i
        end local 10 // int min
        end local 9 // byte strLastChar
        end local 8 // int strLastIndex
        end local 7 // int rightIndex
        end local 6 // int fromIndex
        end local 5 // int targetCount
        end local 4 // int targetOffset
        end local 3 // byte[] target
        end local 2 // int sourceCount
        end local 1 // int sourceOffset
        end local 0 // byte[] source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0        source  [B
            0   22     1  sourceOffset  I
            0   22     2   sourceCount  I
            0   22     3        target  [B
            0   22     4  targetOffset  I
            0   22     5   targetCount  I
            0   22     6     fromIndex  I
            1   22     7    rightIndex  I
            5   22     8  strLastIndex  I
            6   22     9   strLastChar  B
            7   22    10           min  I
            8   22    11             i  I
           13   21    12             j  I
           14   21    13         start  I
           15   21    14             k  I
    MethodParameters:
              Name  Flags
      source        
      sourceOffset  
      sourceCount   
      target        
      targetOffset  
      targetCount   
      fromIndex     

  public boolean startsWith(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList other
        start local 2 // int toffset
         0: .line 906
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            ifeq 1
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            iload 2 /* toffset */
            iadd
            if_icmpge 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
         2: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 3 /* ta */
        start local 3 // byte[] ta
         3: .line 909
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 2 /* toffset */
            iadd
            istore 4 /* to */
        start local 4 // int to
         4: .line 910
            aload 1 /* other */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 5 /* pa */
        start local 5 // byte[] pa
         5: .line 911
            aload 1 /* other */
            getfield org.jruby.util.ByteList.begin:I
            istore 6 /* po */
        start local 6 // int po
         6: .line 912
            aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            istore 7 /* pc */
        start local 7 // int pc
         7: .line 914
            goto 9
      StackMap locals: org.jruby.util.ByteList org.jruby.util.ByteList int byte[] int byte[] int int
      StackMap stack:
         8: aload 3 /* ta */
            iload 4 /* to */
            iinc 4 /* to */ 1
            baload
            aload 5 /* pa */
            iload 6 /* po */
            iinc 6 /* po */ 1
            baload
            if_icmpeq 9
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         9: iinc 7 /* pc */ -1
            iload 7 /* pc */
            ifge 8
        10: .line 915
            iconst_1
            ireturn
        end local 7 // int pc
        end local 6 // int po
        end local 5 // byte[] pa
        end local 4 // int to
        end local 3 // byte[] ta
        end local 2 // int toffset
        end local 1 // org.jruby.util.ByteList other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/jruby/util/ByteList;
            0   11     1    other  Lorg/jruby/util/ByteList;
            0   11     2  toffset  I
            3   11     3       ta  [B
            4   11     4       to  I
            5   11     5       pa  [B
            6   11     6       po  I
            7   11     7       pc  I
    MethodParameters:
         Name  Flags
      other    
      toffset  

  public boolean startsWith(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList other
         0: .line 925
            aload 0 /* this */
            aload 1 /* other */
            iconst_0
            invokevirtual org.jruby.util.ByteList.startsWith:(Lorg/jruby/util/ByteList;I)Z
            ireturn
        end local 1 // org.jruby.util.ByteList other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/util/ByteList;
            0    1     1  other  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      other  

  public boolean endsWith(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList other
         0: .line 935
            aload 0 /* this */
            aload 1 /* other */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            isub
            invokevirtual org.jruby.util.ByteList.startsWith:(Lorg/jruby/util/ByteList;I)Z
            ireturn
        end local 1 // org.jruby.util.ByteList other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/util/ByteList;
            0    1     1  other  Lorg/jruby/util/ByteList;
    MethodParameters:
       Name  Flags
      other  

  public boolean equals(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.util.ByteList this
        start local 1 // java.lang.Object other
         0: .line 946
            aload 1 /* other */
            instanceof org.jruby.util.ByteList
            ifeq 1
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.util.ByteList
            invokevirtual org.jruby.util.ByteList.equal:(Lorg/jruby/util/ByteList;)Z
            ireturn
         1: .line 947
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jruby/util/ByteList;
            0    2     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public boolean equal(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList other
         0: .line 957
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.ByteList.hash:I
            ifeq 2
            aload 1 /* other */
            getfield org.jruby.util.ByteList.hash:I
            ifeq 2
            aload 0 /* this */
            getfield org.jruby.util.ByteList.hash:I
            aload 1 /* other */
            getfield org.jruby.util.ByteList.hash:I
            if_icmpeq 2
            iconst_0
            ireturn
         2: .line 961
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            dup
            istore 3 /* last */
        start local 3 // int last
         3: aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            if_icmpne 11
         4: .line 962
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 4 /* buf */
        start local 4 // byte[] buf
         5: .line 963
            aload 1 /* other */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 5 /* otherBuf */
        start local 5 // byte[] otherBuf
         6: .line 972
            iconst_m1
            istore 2 /* first */
        start local 2 // int first
         7: .line 973
      StackMap locals: org.jruby.util.ByteList org.jruby.util.ByteList int int byte[] byte[]
      StackMap stack:
            iinc 3 /* last */ -1
            iload 3 /* last */
            iload 2 /* first */
            if_icmple 9
            aload 4 /* buf */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 3 /* last */
            iadd
            baload
            aload 5 /* otherBuf */
            aload 1 /* other */
            getfield org.jruby.util.ByteList.begin:I
            iload 3 /* last */
            iadd
            baload
            if_icmpne 9
         8: .line 974
            iinc 2 /* first */ 1
            iload 2 /* first */
            iload 3 /* last */
            if_icmpge 9
            aload 4 /* buf */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 2 /* first */
            iadd
            baload
            aload 5 /* otherBuf */
            aload 1 /* other */
            getfield org.jruby.util.ByteList.begin:I
            iload 2 /* first */
            iadd
            baload
            if_icmpeq 7
         9: .line 975
      StackMap locals:
      StackMap stack:
            iload 2 /* first */
            iload 3 /* last */
            if_icmplt 10
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        end local 5 // byte[] otherBuf
        end local 4 // byte[] buf
        end local 2 // int first
        11: .line 977
      StackMap locals: org.jruby.util.ByteList org.jruby.util.ByteList top int
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // int last
        end local 1 // org.jruby.util.ByteList other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/jruby/util/ByteList;
            0   12     1     other  Lorg/jruby/util/ByteList;
            7   11     2     first  I
            3   12     3      last  I
            5   11     4       buf  [B
            6   11     5  otherBuf  [B
    MethodParameters:
       Name  Flags
      other  

  public boolean sample_equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // java.lang.Object other
         0: .line 987
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 988
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.jruby.util.ByteList
            ifeq 12
         2: .line 989
            aload 1 /* other */
            checkcast org.jruby.util.ByteList
            astore 2 /* b */
        start local 2 // org.jruby.util.ByteList b
         3: .line 994
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            dup
            istore 5 /* size */
        start local 5 // int size
         4: aload 2 /* b */
            getfield org.jruby.util.ByteList.realSize:I
            if_icmpne 12
         5: .line 999
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 6 /* buf */
        start local 6 // byte[] buf
         6: iconst_m1
            istore 3 /* first */
        start local 3 // int first
         7: iload 5 /* size */
            iconst_1
            iadd
            bipush -2
            iand
            istore 4 /* last */
        start local 4 // int last
         8: .line 1000
      StackMap locals: org.jruby.util.ByteList java.lang.Object org.jruby.util.ByteList int int int byte[]
      StackMap stack:
            iinc 4 /* last */ -2
            iload 4 /* last */
            iflt 10
            aload 6 /* buf */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 4 /* last */
            iadd
            baload
            aload 2 /* b */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 2 /* b */
            getfield org.jruby.util.ByteList.begin:I
            iload 4 /* last */
            iadd
            baload
            if_icmpne 10
         9: .line 1001
            iinc 3 /* first */ 2
            iload 3 /* first */
            iload 5 /* size */
            if_icmpge 10
            aload 6 /* buf */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 3 /* first */
            iadd
            baload
            aload 2 /* b */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 2 /* b */
            getfield org.jruby.util.ByteList.begin:I
            iload 3 /* first */
            iadd
            baload
            if_icmpeq 8
        10: .line 1002
      StackMap locals:
      StackMap stack:
            iload 4 /* last */
            iflt 11
            iload 3 /* first */
            iload 5 /* size */
            if_icmpeq 11
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_1
            ireturn
        end local 6 // byte[] buf
        end local 5 // int size
        end local 4 // int last
        end local 3 // int first
        end local 2 // org.jruby.util.ByteList b
        12: .line 1005
      StackMap locals: org.jruby.util.ByteList java.lang.Object
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lorg/jruby/util/ByteList;
            0   13     1  other  Ljava/lang/Object;
            3   12     2      b  Lorg/jruby/util/ByteList;
            7   12     3  first  I
            8   12     4   last  I
            4   12     5   size  I
            6   12     6    buf  [B
    MethodParameters:
       Name  Flags
      other  

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // java.lang.Object other
         0: .line 1013
            aload 0 /* this */
            aload 1 /* other */
            checkcast org.jruby.util.ByteList
            invokevirtual org.jruby.util.ByteList.cmp:(Lorg/jruby/util/ByteList;)I
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/util/ByteList;
            0    1     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public int cmp(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList other
         0: .line 1020
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 1
            iconst_0
            ireturn
         1: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            istore 2 /* size */
        start local 2 // int size
         2: .line 1022
            iload 2 /* size */
            aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* len */
        start local 3 // int len
         3: .line 1023
            iconst_m1
            istore 4 /* offset */
        start local 4 // int offset
         4: .line 1030
      StackMap locals: int int int
      StackMap stack:
            iinc 4 /* offset */ 1
            iload 4 /* offset */
            iload 3 /* len */
            if_icmpge 5
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 4 /* offset */
            iadd
            baload
            aload 1 /* other */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* other */
            getfield org.jruby.util.ByteList.begin:I
            iload 4 /* offset */
            iadd
            baload
            if_icmpeq 4
         5: .line 1031
      StackMap locals:
      StackMap stack:
            iload 4 /* offset */
            iload 3 /* len */
            if_icmpge 9
         6: .line 1032
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 4 /* offset */
            iadd
            baload
            sipush 255
            iand
            aload 1 /* other */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 1 /* other */
            getfield org.jruby.util.ByteList.begin:I
            iload 4 /* offset */
            iadd
            baload
            sipush 255
            iand
            if_icmple 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_m1
      StackMap locals:
      StackMap stack: int
         8: ireturn
         9: .line 1034
      StackMap locals:
      StackMap stack:
            iload 2 /* size */
            aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            if_icmpne 10
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        10: iload 2 /* size */
            iload 3 /* len */
            if_icmpne 11
            iconst_m1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: ireturn
        end local 4 // int offset
        end local 3 // int len
        end local 2 // int size
        end local 1 // org.jruby.util.ByteList other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/jruby/util/ByteList;
            0   13     1   other  Lorg/jruby/util/ByteList;
            2   13     2    size  I
            3   13     3     len  I
            4   13     4  offset  I
    MethodParameters:
       Name  Flags
      other  final

  public int caseInsensitiveCmp(org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/util/ByteList;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jruby.util.ByteList other
         0: .line 1044
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 1
            iconst_0
            ireturn
         1: .line 1046
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            istore 2 /* size */
        start local 2 // int size
         2: .line 1047
            iload 2 /* size */
            aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* len */
        start local 3 // int len
         3: .line 1048
            aload 1 /* other */
            getfield org.jruby.util.ByteList.begin:I
            istore 4 /* other_begin */
        start local 4 // int other_begin
         4: .line 1049
            aload 1 /* other */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 5 /* other_bytes */
        start local 5 // byte[] other_bytes
         5: .line 1051
            iconst_m1
            istore 6 /* offset */
        start local 6 // int offset
         6: goto 13
         7: .line 1052
      StackMap locals: org.jruby.util.ByteList org.jruby.util.ByteList int int int byte[] int
      StackMap stack:
            getstatic org.jcodings.ascii.AsciiTables.ToLowerCaseTable:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 6 /* offset */
            iadd
            baload
            sipush 255
            iand
            baload
            sipush 255
            iand
            istore 7 /* myCharIgnoreCase */
        start local 7 // int myCharIgnoreCase
         8: .line 1053
            getstatic org.jcodings.ascii.AsciiTables.ToLowerCaseTable:[B
            aload 5 /* other_bytes */
            iload 4 /* other_begin */
            iload 6 /* offset */
            iadd
            baload
            sipush 255
            iand
            baload
            sipush 255
            iand
            istore 8 /* otherCharIgnoreCase */
        start local 8 // int otherCharIgnoreCase
         9: .line 1054
            iload 7 /* myCharIgnoreCase */
            iload 8 /* otherCharIgnoreCase */
            if_icmpge 11
        10: .line 1055
            iconst_m1
            ireturn
        11: .line 1056
      StackMap locals: int int
      StackMap stack:
            iload 7 /* myCharIgnoreCase */
            iload 8 /* otherCharIgnoreCase */
            if_icmple 13
        12: .line 1057
            iconst_1
            ireturn
        end local 8 // int otherCharIgnoreCase
        end local 7 // int myCharIgnoreCase
        13: .line 1051
      StackMap locals:
      StackMap stack:
            iinc 6 /* offset */ 1
            iload 6 /* offset */
            iload 3 /* len */
            if_icmplt 7
        end local 6 // int offset
        14: .line 1060
            iload 2 /* size */
            aload 1 /* other */
            getfield org.jruby.util.ByteList.realSize:I
            if_icmpne 15
            iconst_0
            goto 17
      StackMap locals:
      StackMap stack:
        15: iload 2 /* size */
            iload 3 /* len */
            if_icmpne 16
            iconst_m1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: ireturn
        end local 5 // byte[] other_bytes
        end local 4 // int other_begin
        end local 3 // int len
        end local 2 // int size
        end local 1 // org.jruby.util.ByteList other
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0                 this  Lorg/jruby/util/ByteList;
            0   18     1                other  Lorg/jruby/util/ByteList;
            2   18     2                 size  I
            3   18     3                  len  I
            4   18     4          other_begin  I
            5   18     5          other_bytes  [B
            6   14     6               offset  I
            8   13     7     myCharIgnoreCase  I
            9   13     8  otherCharIgnoreCase  I
    MethodParameters:
       Name  Flags
      other  final

  public byte[] unsafeBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1071
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            areturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public byte[] bytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1081
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            newarray 8
            astore 1 /* newBytes */
        start local 1 // byte[] newBytes
         1: .line 1082
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 1 /* newBytes */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 1083
            aload 1 /* newBytes */
            areturn
        end local 1 // byte[] newBytes
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/jruby/util/ByteList;
            1    3     1  newBytes  [B

  public int begin();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1094
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            ireturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  private void grow(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int increaseRequested
         0: .line 1104
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            iload 1 /* increaseRequested */
            iadd
            istore 2 /* newSize */
        start local 2 // int newSize
         1: .line 1106
            iload 2 /* newSize */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            arraylength
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            isub
            if_icmple 6
         2: .line 1107
            iload 2 /* newSize */
            iload 2 /* newSize */
            iconst_1
            ishr
            iadd
            newarray 8
            astore 3 /* newBytes */
        start local 3 // byte[] newBytes
         3: .line 1108
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            arraylength
            ifeq 4
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 3 /* newBytes */
            iconst_0
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 1109
      StackMap locals: int byte[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newBytes */
            putfield org.jruby.util.ByteList.bytes:[B
         5: .line 1110
            aload 0 /* this */
            iconst_0
            putfield org.jruby.util.ByteList.begin:I
        end local 3 // byte[] newBytes
         6: .line 1112
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int newSize
        end local 1 // int increaseRequested
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/jruby/util/ByteList;
            0    7     1  increaseRequested  I
            1    7     2            newSize  I
            3    6     3           newBytes  [B
    MethodParameters:
                   Name  Flags
      increaseRequested  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1119
            aload 0 /* this */
            getfield org.jruby.util.ByteList.hash:I
            istore 1 /* hash */
        start local 1 // int hash
         1: .line 1120
            iload 1 /* hash */
            ifeq 2
            iload 1 /* hash */
            ireturn
         2: .line 1122
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 1 /* hash */
         3: .line 1123
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            istore 2 /* begin */
        start local 2 // int begin
         4: aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            istore 3 /* realSize */
        start local 3 // int realSize
         5: .line 1124
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            astore 4 /* bytes */
        start local 4 // byte[] bytes
         6: .line 1126
            iload 2 /* begin */
            istore 5 /* index */
        start local 5 // int index
         7: .line 1127
            iload 2 /* begin */
            iload 3 /* realSize */
            iadd
            istore 6 /* end */
        start local 6 // int end
         8: .line 1128
            goto 10
         9: .line 1130
      StackMap locals: org.jruby.util.ByteList int int int byte[] int int
      StackMap stack:
            iload 1 /* hash */
            bipush 16
            ishl
            iload 1 /* hash */
            bipush 6
            ishl
            iadd
            iload 1 /* hash */
            isub
            aload 4 /* bytes */
            iload 5 /* index */
            iinc 5 /* index */ 1
            baload
            iadd
            istore 1 /* hash */
        10: .line 1128
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            iload 6 /* end */
            if_icmplt 9
        11: .line 1132
            iload 1 /* hash */
            iload 1 /* hash */
            iconst_5
            ishr
            iadd
            istore 1 /* hash */
        12: .line 1133
            aload 0 /* this */
            iload 1 /* hash */
            dup_x1
            putfield org.jruby.util.ByteList.hash:I
            ireturn
        end local 6 // int end
        end local 5 // int index
        end local 4 // byte[] bytes
        end local 3 // int realSize
        end local 2 // int begin
        end local 1 // int hash
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/jruby/util/ByteList;
            1   13     1      hash  I
            4   13     2     begin  I
            5   13     3  realSize  I
            6   13     4     bytes  [B
            7   13     5     index  I
            8   13     6       end  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1143
            aload 0 /* this */
            getfield org.jruby.util.ByteList.stringValue:Ljava/lang/String;
            astore 1 /* decoded */
        start local 1 // java.lang.String decoded
         1: .line 1144
            aload 1 /* decoded */
            ifnonnull 3
         2: .line 1145
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            getstatic org.jruby.util.ByteList.ISO_LATIN_1:Ljava/nio/charset/Charset;
            invokestatic org.jruby.util.ByteList.decode:([BIILjava/nio/charset/Charset;)Ljava/lang/String;
            dup
            astore 1 /* decoded */
            putfield org.jruby.util.ByteList.stringValue:Ljava/lang/String;
         3: .line 1147
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* decoded */
            areturn
        end local 1 // java.lang.String decoded
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/jruby/util/ByteList;
            1    4     1  decoded  Ljava/lang/String;

  public java.lang.String toByteString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1156
            new java.lang.String
            dup
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            getstatic org.jruby.util.ByteList.ISO_LATIN_1:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
            areturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public static org.jruby.util.ByteList create(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.CharSequence s
         0: .line 1166
            new org.jruby.util.ByteList
            dup
            aload 0 /* s */
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BZ)V
            areturn
        end local 0 // java.lang.CharSequence s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      s     

  public static byte[] plain(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.CharSequence s
         0: .line 1176
            aload 0 /* s */
            invokestatic org.jruby.RubyEncoding.encodeISO:(Ljava/lang/CharSequence;)[B
            areturn
        end local 0 // java.lang.CharSequence s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/CharSequence;
    MethodParameters:
      Name  Flags
      s     

  public static byte[] plain(char[]);
    descriptor: ([C)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // char[] s
         0: .line 1186
            aload 0 /* s */
            arraylength
            newarray 8
            astore 1 /* bytes */
        start local 1 // byte[] bytes
         1: .line 1187
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1188
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* bytes */
            iload 2 /* i */
            aload 0 /* s */
            iload 2 /* i */
            caload
            i2b
            bastore
         4: .line 1187
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* s */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 1190
            aload 1 /* bytes */
            areturn
        end local 1 // byte[] bytes
        end local 0 // char[] s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      s  [C
            1    7     1  bytes  [B
            2    6     2      i  I
    MethodParameters:
      Name  Flags
      s     

  public static char[] plain(byte[], int, int);
    descriptor: ([BII)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // byte[] b
        start local 1 // int start
        start local 2 // int length
         0: .line 1202
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            aload 0 /* b */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "byte array cannot be null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1203
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 3
            iload 1 /* start */
            iflt 2
            iload 1 /* start */
            iload 2 /* length */
            iadd
            aload 0 /* b */
            arraylength
            if_icmple 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            ldc "Invalid start or start+length too long"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 1205
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            newarray 5
            astore 3 /* chars */
        start local 3 // char[] chars
         4: .line 1206
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 1207
      StackMap locals: char[] int
      StackMap stack:
            aload 3 /* chars */
            iload 4 /* i */
            aload 0 /* b */
            iload 1 /* start */
            iload 4 /* i */
            iadd
            baload
            sipush 255
            iand
            i2c
            castore
         7: .line 1206
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            iload 2 /* length */
            if_icmplt 6
        end local 4 // int i
         9: .line 1209
            aload 3 /* chars */
            areturn
        end local 3 // char[] chars
        end local 2 // int length
        end local 1 // int start
        end local 0 // byte[] b
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0       b  [B
            0   10     1   start  I
            0   10     2  length  I
            4   10     3   chars  [C
            5    9     4       i  I
    MethodParameters:
        Name  Flags
      b       
      start   
      length  

  public static char[] plain(byte[]);
    descriptor: ([B)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // byte[] b
         0: .line 1219
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            aload 0 /* b */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "byte array cannot be null"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 1221
      StackMap locals:
      StackMap stack:
            aload 0 /* b */
            arraylength
            newarray 5
            astore 1 /* chars */
        start local 1 // char[] chars
         2: .line 1222
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 6
         4: .line 1223
      StackMap locals: char[] int
      StackMap stack:
            aload 1 /* chars */
            iload 2 /* i */
            aload 0 /* b */
            iload 2 /* i */
            baload
            sipush 255
            iand
            i2c
            castore
         5: .line 1222
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* b */
            arraylength
            if_icmplt 4
        end local 2 // int i
         7: .line 1225
            aload 1 /* chars */
            areturn
        end local 1 // char[] chars
        end local 0 // byte[] b
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0      b  [B
            2    8     1  chars  [C
            3    7     2      i  I
    MethodParameters:
      Name  Flags
      b     

  public static java.lang.String decode(byte[], int, int, java.lang.String);
    descriptor: ([BIILjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
        start local 3 // java.lang.String charsetName
         0: .line 1242
            aload 0 /* data */
            iload 1 /* offset */
            iload 2 /* length */
            aload 3 /* charsetName */
            invokestatic org.jruby.util.ByteList.lookup:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            invokestatic org.jruby.util.ByteList.decode:([BIILjava/nio/charset/Charset;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String charsetName
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         data  [B
            0    1     1       offset  I
            0    1     2       length  I
            0    1     3  charsetName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      data         
      offset       
      length       
      charsetName  

  private static java.lang.String decode(byte[], int, int, java.nio.charset.Charset);
    descriptor: ([BIILjava/nio/charset/Charset;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // byte[] data
        start local 1 // int offset
        start local 2 // int length
        start local 3 // java.nio.charset.Charset charset
         0: .line 1246
            aload 3 /* charset */
            aload 0 /* data */
            iload 1 /* offset */
            iload 2 /* length */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.charset.Charset.decode:(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
            invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.nio.charset.Charset charset
        end local 2 // int length
        end local 1 // int offset
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     data  [B
            0    1     1   offset  I
            0    1     2   length  I
            0    1     3  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      data     
      offset   
      length   
      charset  

  public static java.lang.String decode(byte[], java.lang.String);
    descriptor: ([BLjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // byte[] data
        start local 1 // java.lang.String charsetName
         0: .line 1257
            aload 1 /* charsetName */
            invokestatic org.jruby.util.ByteList.lookup:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            aload 0 /* data */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.charset.Charset.decode:(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
            invokevirtual java.nio.CharBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String charsetName
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         data  [B
            0    1     1  charsetName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      data         
      charsetName  

  public static byte[] encode(java.lang.CharSequence, java.lang.String);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.CharSequence data
        start local 1 // java.lang.String charsetName
         0: .line 1268
            aload 1 /* charsetName */
            invokestatic org.jruby.util.ByteList.lookup:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            aload 0 /* data */
            invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
            invokevirtual java.nio.charset.Charset.encode:(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            areturn
        end local 1 // java.lang.String charsetName
        end local 0 // java.lang.CharSequence data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         data  Ljava/lang/CharSequence;
            0    1     1  charsetName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      data         
      charsetName  

  private static java.nio.charset.Charset lookup(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String alias
         0: .line 1272
            getstatic org.jruby.util.ByteList.charsetsByAlias:Ljava/util/concurrent/ConcurrentMap;
            aload 0 /* alias */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.charset.Charset
            astore 1 /* cs */
        start local 1 // java.nio.charset.Charset cs
         1: .line 1273
            aload 1 /* cs */
            ifnonnull 4
         2: .line 1274
            aload 0 /* alias */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 1 /* cs */
         3: .line 1275
            getstatic org.jruby.util.ByteList.charsetsByAlias:Ljava/util/concurrent/ConcurrentMap;
            aload 0 /* alias */
            aload 1 /* cs */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1277
      StackMap locals: java.nio.charset.Charset
      StackMap stack:
            aload 1 /* cs */
            areturn
        end local 1 // java.nio.charset.Charset cs
        end local 0 // java.lang.String alias
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  alias  Ljava/lang/String;
            1    5     1     cs  Ljava/nio/charset/Charset;
    MethodParameters:
       Name  Flags
      alias  

  public char charAt(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int ix
         0: .line 1287
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            iload 1 /* ix */
            iadd
            baload
            sipush 255
            iand
            i2c
            ireturn
        end local 1 // int ix
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;
            0    1     1    ix  I
    MethodParameters:
      Name  Flags
      ix    

  public java.lang.CharSequence subSequence(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int start
        start local 2 // int end
         0: .line 1298
            new org.jruby.util.ByteList
            dup
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokespecial org.jruby.util.ByteList.<init>:(Lorg/jruby/util/ByteList;II)V
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jruby/util/ByteList;
            0    1     1  start  I
            0    1     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  public static int memcmp(byte[], int, int, byte[], int, int);
    descriptor: ([BII[BII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // byte[] first
        start local 1 // int firstStart
        start local 2 // int firstLen
        start local 3 // byte[] second
        start local 4 // int secondStart
        start local 5 // int secondLen
         0: .line 1309
            aload 0 /* first */
            aload 3 /* second */
            if_acmpne 1
            iconst_0
            ireturn
         1: .line 1310
      StackMap locals:
      StackMap stack:
            iload 2 /* firstLen */
            iload 5 /* secondLen */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* len */
        start local 6 // int len
         2: .line 1311
            iconst_m1
            istore 7 /* offset */
        start local 7 // int offset
         3: .line 1312
      StackMap locals: int int
      StackMap stack:
            iinc 7 /* offset */ 1
            iload 7 /* offset */
            iload 6 /* len */
            if_icmpge 4
            aload 0 /* first */
            iload 1 /* firstStart */
            iload 7 /* offset */
            iadd
            baload
            aload 3 /* second */
            iload 4 /* secondStart */
            iload 7 /* offset */
            iadd
            baload
            if_icmpeq 3
         4: .line 1313
      StackMap locals:
      StackMap stack:
            iload 7 /* offset */
            iload 6 /* len */
            if_icmpge 8
         5: .line 1314
            aload 0 /* first */
            iload 1 /* firstStart */
            iload 7 /* offset */
            iadd
            baload
            sipush 255
            iand
            aload 3 /* second */
            iload 4 /* secondStart */
            iload 7 /* offset */
            iadd
            baload
            sipush 255
            iand
            if_icmple 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_m1
      StackMap locals:
      StackMap stack: int
         7: ireturn
         8: .line 1316
      StackMap locals:
      StackMap stack:
            iload 2 /* firstLen */
            iload 5 /* secondLen */
            if_icmpne 9
            iconst_0
            goto 11
      StackMap locals:
      StackMap stack:
         9: iload 2 /* firstLen */
            iload 6 /* len */
            if_icmpne 10
            iconst_m1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: ireturn
        end local 7 // int offset
        end local 6 // int len
        end local 5 // int secondLen
        end local 4 // int secondStart
        end local 3 // byte[] second
        end local 2 // int firstLen
        end local 1 // int firstStart
        end local 0 // byte[] first
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0        first  [B
            0   12     1   firstStart  I
            0   12     2     firstLen  I
            0   12     3       second  [B
            0   12     4  secondStart  I
            0   12     5    secondLen  I
            2   12     6          len  I
            3   12     7       offset  I
    MethodParameters:
             Name  Flags
      first        final
      firstStart   final
      firstLen     final
      second       final
      secondStart  final
      secondLen    final

  public static int memcmp(byte[], int, byte[], int, int);
    descriptor: ([BI[BII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // byte[] first
        start local 1 // int firstStart
        start local 2 // byte[] second
        start local 3 // int secondStart
        start local 4 // int len
         0: .line 1326
            iload 1 /* firstStart */
            istore 5 /* a */
        start local 5 // int a
         1: .line 1327
            iload 3 /* secondStart */
            istore 6 /* b */
        start local 6 // int b
         2: .line 1330
            goto 7
         3: .line 1331
      StackMap locals: int int
      StackMap stack:
            aload 0 /* first */
            iload 5 /* a */
            iinc 5 /* a */ 1
            baload
            aload 2 /* second */
            iload 6 /* b */
            iinc 6 /* b */ 1
            baload
            isub
            dup
            istore 7 /* tmp */
        start local 7 // int tmp
         4: ifeq 6
         5: .line 1332
            iload 7 /* tmp */
            ireturn
         6: .line 1330
      StackMap locals: int
      StackMap stack:
            iinc 4 /* len */ -1
        end local 7 // int tmp
      StackMap locals:
      StackMap stack:
         7: iload 4 /* len */
            ifne 3
         8: .line 1335
            iconst_0
            ireturn
        end local 6 // int b
        end local 5 // int a
        end local 4 // int len
        end local 3 // int secondStart
        end local 2 // byte[] second
        end local 1 // int firstStart
        end local 0 // byte[] first
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0        first  [B
            0    9     1   firstStart  I
            0    9     2       second  [B
            0    9     3  secondStart  I
            0    9     4          len  I
            1    9     5            a  I
            2    9     6            b  I
            4    7     7          tmp  I
    MethodParameters:
             Name  Flags
      first        final
      firstStart   final
      second       final
      secondStart  final
      len          

  public byte[] getUnsafeBytes();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1343
            aload 0 /* this */
            getfield org.jruby.util.ByteList.bytes:[B
            areturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public void setUnsafeBytes(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // byte[] bytes
         0: .line 1350
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            aload 1 /* bytes */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* bytes */
            putfield org.jruby.util.ByteList.bytes:[B
         2: .line 1352
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         3: .line 1353
            return
        end local 1 // byte[] bytes
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/util/ByteList;
            0    4     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public int getBegin();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1359
            aload 0 /* this */
            getfield org.jruby.util.ByteList.begin:I
            ireturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public void setBegin(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int begin
         0: .line 1366
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            iload 1 /* begin */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* begin */
            putfield org.jruby.util.ByteList.begin:I
         2: .line 1368
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         3: .line 1369
            return
        end local 1 // int begin
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jruby/util/ByteList;
            0    4     1  begin  I
    MethodParameters:
       Name  Flags
      begin  

  public int getRealSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1375
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            ireturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public void setRealSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int realSize
         0: .line 1382
            aload 0 /* this */
            iload 1 /* realSize */
            invokevirtual org.jruby.util.ByteList.realSize:(I)V
         1: .line 1383
            return
        end local 1 // int realSize
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jruby/util/ByteList;
            0    2     1  realSize  I
    MethodParameters:
          Name  Flags
      realSize  

  public int realSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1388
            aload 0 /* this */
            getfield org.jruby.util.ByteList.realSize:I
            ireturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public void realSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // int realSize
         0: .line 1394
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            iload 1 /* realSize */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1395
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* realSize */
            putfield org.jruby.util.ByteList.realSize:I
         2: .line 1396
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         3: .line 1397
            return
        end local 1 // int realSize
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/util/ByteList;
            0    4     1  realSize  I
    MethodParameters:
          Name  Flags
      realSize  

  public org.jcodings.Encoding getEncoding();
    descriptor: ()Lorg/jcodings/Encoding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.util.ByteList this
         0: .line 1403
            aload 0 /* this */
            getfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
            areturn
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/util/ByteList;

  public void setEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList this
        start local 1 // org.jcodings.Encoding encoding
         0: .line 1410
            getstatic org.jruby.util.ByteList.$assertionsDisabled:Z
            ifne 1
            aload 1 /* encoding */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* encoding */
            invokestatic org.jruby.util.ByteList.safeEncoding:(Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
            putfield org.jruby.util.ByteList.encoding:Lorg/jcodings/Encoding;
         2: .line 1412
            aload 0 /* this */
            invokevirtual org.jruby.util.ByteList.invalidate:()V
         3: .line 1413
            return
        end local 1 // org.jcodings.Encoding encoding
        end local 0 // org.jruby.util.ByteList this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jruby/util/ByteList;
            0    4     1  encoding  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      encoding  

  public static org.jcodings.Encoding safeEncoding(org.jcodings.Encoding);
    descriptor: (Lorg/jcodings/Encoding;)Lorg/jcodings/Encoding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcodings.Encoding incoming
         0: .line 1419
            aload 0 /* incoming */
            ifnonnull 1
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            areturn
         1: .line 1420
      StackMap locals:
      StackMap stack:
            aload 0 /* incoming */
            areturn
        end local 0 // org.jcodings.Encoding incoming
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  incoming  Lorg/jcodings/Encoding;
    MethodParameters:
          Name  Flags
      incoming  
}
SourceFile: "ByteList.java"