public class org.hsqldb.jdbc.JDBCBlob implements java.sql.Blob
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.jdbc.JDBCBlob
  super_class: java.lang.Object
{
  private static final long MIN_POS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final long MAX_POS;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483648

  private static final byte[] NO_BYTES;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private boolean m_closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte[] m_data;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private final boolean m_createdByConnection;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 726
            iconst_0
            newarray 8
            putstatic org.hsqldb.jdbc.JDBCBlob.NO_BYTES:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public long length();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 138
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            arraylength
            i2l
            lreturn
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
    Exceptions:
      throws java.sql.SQLException

  public byte[] getBytes(long, int);
    descriptor: (JI)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // long pos
        start local 3 // int length
         0: .line 178
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            astore 4 /* data */
        start local 4 // byte[] data
         1: .line 179
            aload 4 /* data */
            arraylength
            istore 5 /* dlen */
        start local 5 // int dlen
         2: .line 181
            lload 1 /* pos */
            lconst_1
            lcmp
            iflt 3
            lload 1 /* pos */
            lconst_1
            lsub
            iload 5 /* dlen */
            i2l
            lcmp
            ifle 4
         3: .line 182
      StackMap locals: byte[] int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "pos: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         4: .line 185
      StackMap locals:
      StackMap stack:
            lload 1 /* pos */
            l2i
            iconst_1
            isub
            istore 6 /* index */
        start local 6 // int index
         5: .line 187
            iload 3 /* length */
            iflt 6
            iload 3 /* length */
            iload 5 /* dlen */
            iload 6 /* index */
            isub
            if_icmple 7
         6: .line 188
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         7: .line 191
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            newarray 8
            astore 7 /* result */
        start local 7 // byte[] result
         8: .line 193
            aload 4 /* data */
            iload 6 /* index */
            aload 7 /* result */
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 195
            aload 7 /* result */
            areturn
        end local 7 // byte[] result
        end local 6 // int index
        end local 5 // int dlen
        end local 4 // byte[] data
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/hsqldb/jdbc/JDBCBlob;
            0   10     1     pos  J
            0   10     3  length  I
            1   10     4    data  [B
            2   10     5    dlen  I
            5   10     6   index  I
            8   10     7  result  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      length  final

  public java.io.InputStream getBinaryStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 211
            new java.io.ByteArrayInputStream
            dup
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
    Exceptions:
      throws java.sql.SQLException

  public long position(byte[], long);
    descriptor: ([BJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // byte[] pattern
        start local 2 // long start
         0: .line 234
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            astore 4 /* data */
        start local 4 // byte[] data
         1: .line 235
            aload 4 /* data */
            arraylength
            istore 5 /* dlen */
        start local 5 // int dlen
         2: .line 237
            lload 2 /* start */
            lconst_1
            lcmp
            ifge 4
         3: .line 238
            new java.lang.StringBuilder
            dup
            ldc "start: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* start */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         4: .line 239
      StackMap locals: byte[] int
      StackMap stack:
            lload 2 /* start */
            iload 5 /* dlen */
            i2l
            lcmp
            ifgt 5
            aload 1 /* pattern */
            ifnonnull 6
         5: .line 240
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
         6: .line 244
      StackMap locals:
      StackMap stack:
            lload 2 /* start */
            l2i
            iconst_1
            isub
            istore 6 /* startIndex */
        start local 6 // int startIndex
         7: .line 245
            aload 1 /* pattern */
            arraylength
            istore 7 /* plen */
        start local 7 // int plen
         8: .line 247
            iload 7 /* plen */
            ifeq 9
            iload 6 /* startIndex */
            iload 5 /* dlen */
            iload 7 /* plen */
            isub
            if_icmple 10
         9: .line 248
      StackMap locals: int int
      StackMap stack:
            ldc -1
            lreturn
        10: .line 251
      StackMap locals:
      StackMap stack:
            aload 4 /* data */
            aload 1 /* pattern */
        11: .line 252
            aload 1 /* pattern */
            invokestatic org.hsqldb.lib.KMPSearchAlgorithm.computeTable:([B)[I
            iload 6 /* startIndex */
        12: .line 251
            invokestatic org.hsqldb.lib.KMPSearchAlgorithm.search:([B[B[II)I
            istore 8 /* result */
        start local 8 // int result
        13: .line 254
            iload 8 /* result */
            iconst_m1
            if_icmpne 14
            iconst_m1
            goto 15
        14: .line 255
      StackMap locals: int
      StackMap stack:
            iload 8 /* result */
            iconst_1
            iadd
        15: .line 254
      StackMap locals:
      StackMap stack: int
            i2l
            lreturn
        end local 8 // int result
        end local 7 // int plen
        end local 6 // int startIndex
        end local 5 // int dlen
        end local 4 // byte[] data
        end local 2 // long start
        end local 1 // byte[] pattern
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/hsqldb/jdbc/JDBCBlob;
            0   16     1     pattern  [B
            0   16     2       start  J
            1   16     4        data  [B
            2   16     5        dlen  I
            7   16     6  startIndex  I
            8   16     7        plen  I
           13   16     8      result  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      pattern  final
      start    final

  public long position(java.sql.Blob, long);
    descriptor: (Ljava/sql/Blob;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // java.sql.Blob pattern
        start local 2 // long start
         0: .line 277
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            astore 4 /* data */
        start local 4 // byte[] data
         1: .line 278
            aload 4 /* data */
            arraylength
            istore 5 /* dlen */
        start local 5 // int dlen
         2: .line 280
            lload 2 /* start */
            lconst_1
            lcmp
            ifge 4
         3: .line 281
            new java.lang.StringBuilder
            dup
            ldc "start: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* start */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         4: .line 282
      StackMap locals: byte[] int
      StackMap stack:
            lload 2 /* start */
            iload 5 /* dlen */
            i2l
            lcmp
            ifgt 5
            aload 1 /* pattern */
            ifnonnull 6
         5: .line 283
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
         6: .line 287
      StackMap locals:
      StackMap stack:
            lload 2 /* start */
            lconst_1
            lsub
            l2i
            istore 6 /* startIndex */
        start local 6 // int startIndex
         7: .line 288
            aload 1 /* pattern */
            invokeinterface java.sql.Blob.length:()J
            lstore 7 /* plen */
        start local 7 // long plen
         8: .line 290
            lload 7 /* plen */
            lconst_0
            lcmp
            ifeq 9
            iload 6 /* startIndex */
            i2l
            iload 5 /* dlen */
            i2l
            lload 7 /* plen */
            lsub
            lcmp
            ifle 10
         9: .line 291
      StackMap locals: int long
      StackMap stack:
            ldc -1
            lreturn
        10: .line 295
      StackMap locals:
      StackMap stack:
            lload 7 /* plen */
            l2i
            istore 9 /* iplen */
        start local 9 // int iplen
        11: .line 298
            aload 1 /* pattern */
            instanceof org.hsqldb.jdbc.JDBCBlob
            ifeq 14
        12: .line 299
            aload 1 /* pattern */
            checkcast org.hsqldb.jdbc.JDBCBlob
            invokevirtual org.hsqldb.jdbc.JDBCBlob.data:()[B
            astore 10 /* bytePattern */
        start local 10 // byte[] bytePattern
        13: .line 300
            goto 15
        end local 10 // byte[] bytePattern
        14: .line 301
      StackMap locals: int
      StackMap stack:
            aload 1 /* pattern */
            lconst_1
            iload 9 /* iplen */
            invokeinterface java.sql.Blob.getBytes:(JI)[B
            astore 10 /* bytePattern */
        start local 10 // byte[] bytePattern
        15: .line 304
      StackMap locals: byte[]
      StackMap stack:
            aload 4 /* data */
            aload 10 /* bytePattern */
        16: .line 305
            aload 10 /* bytePattern */
            invokestatic org.hsqldb.lib.KMPSearchAlgorithm.computeTable:([B)[I
            iload 6 /* startIndex */
        17: .line 304
            invokestatic org.hsqldb.lib.KMPSearchAlgorithm.search:([B[B[II)I
            istore 11 /* result */
        start local 11 // int result
        18: .line 307
            iload 11 /* result */
            iconst_m1
            if_icmpne 19
            iconst_m1
            goto 20
        19: .line 308
      StackMap locals: int
      StackMap stack:
            iload 11 /* result */
            iconst_1
            iadd
        20: .line 307
      StackMap locals:
      StackMap stack: int
            i2l
            lreturn
        end local 11 // int result
        end local 10 // byte[] bytePattern
        end local 9 // int iplen
        end local 7 // long plen
        end local 6 // int startIndex
        end local 5 // int dlen
        end local 4 // byte[] data
        end local 2 // long start
        end local 1 // java.sql.Blob pattern
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/hsqldb/jdbc/JDBCBlob;
            0   21     1      pattern  Ljava/sql/Blob;
            0   21     2        start  J
            1   21     4         data  [B
            2   21     5         dlen  I
            7   21     6   startIndex  I
            8   21     7         plen  J
           11   21     9        iplen  I
           13   14    10  bytePattern  [B
           15   21    10  bytePattern  [B
           18   21    11       result  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      pattern  final
      start    

  public int setBytes(long, byte[]);
    descriptor: (J[B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // long pos
        start local 3 // byte[] bytes
         0: .line 375
            aload 0 /* this */
            lload 1 /* pos */
            aload 3 /* bytes */
            iconst_0
            aload 3 /* bytes */
            ifnonnull 1
            iconst_0
            goto 2
         1: .line 376
      StackMap locals: org.hsqldb.jdbc.JDBCBlob long byte[]
      StackMap stack: org.hsqldb.jdbc.JDBCBlob long byte[] int
            aload 3 /* bytes */
            arraylength
         2: .line 375
      StackMap locals: org.hsqldb.jdbc.JDBCBlob long byte[]
      StackMap stack: org.hsqldb.jdbc.JDBCBlob long byte[] int int
            invokevirtual org.hsqldb.jdbc.JDBCBlob.setBytes:(J[BII)I
            ireturn
        end local 3 // byte[] bytes
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hsqldb/jdbc/JDBCBlob;
            0    3     1    pos  J
            0    3     3  bytes  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
       Name  Flags
      pos    
      bytes  

  public int setBytes(long, byte[], int, int);
    descriptor: (J[BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // long pos
        start local 3 // byte[] bytes
        start local 4 // int offset
        start local 5 // int len
         0: .line 455
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.checkReadonly:()V
         1: .line 457
            aload 3 /* bytes */
            ifnonnull 3
         2: .line 458
            ldc "bytes"
            invokestatic org.hsqldb.jdbc.JDBCUtil.nullArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         3: .line 461
      StackMap locals:
      StackMap stack:
            iload 4 /* offset */
            iflt 4
            iload 4 /* offset */
            aload 3 /* bytes */
            arraylength
            if_icmple 5
         4: .line 462
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "offset: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* offset */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         5: .line 465
      StackMap locals:
      StackMap stack:
            iload 5 /* len */
            aload 3 /* bytes */
            arraylength
            iload 4 /* offset */
            isub
            if_icmple 7
         6: .line 466
            new java.lang.StringBuilder
            dup
            ldc "len: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* len */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         7: .line 469
      StackMap locals:
      StackMap stack:
            lload 1 /* pos */
            lconst_1
            lcmp
            iflt 8
            lload 1 /* pos */
            lconst_1
            lsub
            ldc 2147483647
            iload 5 /* len */
            isub
            i2l
            lcmp
            ifle 9
         8: .line 470
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "pos: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         9: .line 473
      StackMap locals:
      StackMap stack:
            lload 1 /* pos */
            lconst_1
            lsub
            l2i
            istore 6 /* index */
        start local 6 // int index
        10: .line 474
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            astore 7 /* data */
        start local 7 // byte[] data
        11: .line 475
            aload 7 /* data */
            arraylength
            istore 8 /* dlen */
        start local 8 // int dlen
        12: .line 477
            iload 6 /* index */
            iload 8 /* dlen */
            iload 5 /* len */
            isub
            if_icmple 17
        13: .line 478
            iload 6 /* index */
            iload 5 /* len */
            iadd
            newarray 8
            astore 9 /* temp */
        start local 9 // byte[] temp
        14: .line 480
            aload 7 /* data */
            iconst_0
            aload 9 /* temp */
            iconst_0
            iload 8 /* dlen */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 482
            aload 9 /* temp */
            astore 7 /* data */
        16: .line 483
            aconst_null
            astore 9
        end local 9 // byte[] temp
        17: .line 486
      StackMap locals: int byte[] int
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* offset */
            aload 7 /* data */
            iload 6 /* index */
            iload 5 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 487
            aload 0 /* this */
            aload 7 /* data */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.setData:([B)V
        19: .line 489
            iload 5 /* len */
            ireturn
        end local 8 // int dlen
        end local 7 // byte[] data
        end local 6 // int index
        end local 5 // int len
        end local 4 // int offset
        end local 3 // byte[] bytes
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lorg/hsqldb/jdbc/JDBCBlob;
            0   20     1     pos  J
            0   20     3   bytes  [B
            0   20     4  offset  I
            0   20     5     len  I
           10   20     6   index  I
           11   20     7    data  [B
           12   20     8    dlen  I
           14   17     9    temp  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      bytes   
      offset  
      len     

  public java.io.OutputStream setBinaryStream(long);
    descriptor: (J)Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // long pos
         0: .line 563
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.checkReadonly:()V
         1: .line 565
            lload 1 /* pos */
            lconst_1
            lcmp
            iflt 2
            lload 1 /* pos */
            ldc 2147483648
            lcmp
            ifle 3
         2: .line 566
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "pos: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         3: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.checkClosed:()V
         4: .line 571
            new org.hsqldb.jdbc.JDBCBlob$1
            dup
            aload 0 /* this */
            lload 1 /* pos */
            invokespecial org.hsqldb.jdbc.JDBCBlob$1.<init>:(Lorg/hsqldb/jdbc/JDBCBlob;J)V
            areturn
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
            0    5     1   pos  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      pos   final

  public void truncate(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // long len
         0: .line 639
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.checkReadonly:()V
         1: .line 641
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            astore 3 /* data */
        start local 3 // byte[] data
         2: .line 643
            lload 1 /* len */
            lconst_0
            lcmp
            iflt 3
            lload 1 /* len */
            aload 3 /* data */
            arraylength
            i2l
            lcmp
            ifle 4
         3: .line 644
      StackMap locals: byte[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "len: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* len */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         4: .line 645
      StackMap locals:
      StackMap stack:
            lload 1 /* len */
            aload 3 /* data */
            arraylength
            i2l
            lcmp
            ifne 6
         5: .line 646
            return
         6: .line 649
      StackMap locals:
      StackMap stack:
            lload 1 /* len */
            l2i
            newarray 8
            astore 4 /* newData */
        start local 4 // byte[] newData
         7: .line 651
            aload 3 /* data */
            iconst_0
            aload 4 /* newData */
            iconst_0
            lload 1 /* len */
            l2i
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 652
            aload 0 /* this */
            aload 4 /* newData */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.setData:([B)V
         9: .line 653
            return
        end local 4 // byte[] newData
        end local 3 // byte[] data
        end local 1 // long len
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/hsqldb/jdbc/JDBCBlob;
            0   10     1      len  J
            2   10     3     data  [B
            7   10     4  newData  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      len   final

  public synchronized void free();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 675
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCBlob.m_closed:Z
         1: .line 676
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCBlob.m_data:[B
         2: .line 677
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
    Exceptions:
      throws java.sql.SQLException

  public java.io.InputStream getBinaryStream(long, long);
    descriptor: (JJ)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // long pos
        start local 3 // long length
         0: .line 698
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            astore 5 /* data */
        start local 5 // byte[] data
         1: .line 699
            aload 5 /* data */
            arraylength
            istore 6 /* dlen */
        start local 6 // int dlen
         2: .line 701
            lload 1 /* pos */
            lconst_1
            lcmp
            iflt 3
            lload 1 /* pos */
            iload 6 /* dlen */
            i2l
            lcmp
            ifle 4
         3: .line 702
      StackMap locals: byte[] int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "pos: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* pos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         4: .line 705
      StackMap locals:
      StackMap stack:
            lload 1 /* pos */
            lconst_1
            lsub
            l2i
            istore 7 /* index */
        start local 7 // int index
         5: .line 707
            lload 3 /* length */
            lconst_0
            lcmp
            iflt 6
            lload 3 /* length */
            iload 6 /* dlen */
            iload 7 /* index */
            isub
            i2l
            lcmp
            ifle 7
         6: .line 708
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "length: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* length */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         7: .line 711
      StackMap locals:
      StackMap stack:
            iload 7 /* index */
            ifne 9
            lload 3 /* length */
            iload 6 /* dlen */
            i2l
            lcmp
            ifne 9
         8: .line 712
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* data */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            areturn
         9: .line 715
      StackMap locals:
      StackMap stack:
            lload 3 /* length */
            l2i
            istore 8 /* ilength */
        start local 8 // int ilength
        10: .line 716
            iload 8 /* ilength */
            newarray 8
            astore 9 /* result */
        start local 9 // byte[] result
        11: .line 718
            aload 5 /* data */
            iload 7 /* index */
            aload 9 /* result */
            iconst_0
            iload 8 /* ilength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 720
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* result */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            areturn
        end local 9 // byte[] result
        end local 8 // int ilength
        end local 7 // int index
        end local 6 // int dlen
        end local 5 // byte[] data
        end local 3 // long length
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/hsqldb/jdbc/JDBCBlob;
            0   13     1      pos  J
            0   13     3   length  J
            1   13     5     data  [B
            2   13     6     dlen  I
            5   13     7    index  I
           10   13     8  ilength  I
           11   13     9   result  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     
      length  

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // byte[] data
         0: .line 744
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 746
            aload 1 /* data */
            ifnonnull 3
         2: .line 747
            ldc "data"
            invokestatic org.hsqldb.jdbc.JDBCUtil.nullArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         3: .line 750
      StackMap locals: org.hsqldb.jdbc.JDBCBlob byte[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            putfield org.hsqldb.jdbc.JDBCBlob.m_data:[B
         4: .line 751
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.jdbc.JDBCBlob.m_createdByConnection:Z
         5: .line 752
            return
        end local 1 // byte[] data
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
            0    6     1  data  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      data  final

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 754
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 755
            aload 0 /* this */
            iconst_0
            newarray 8
            putfield org.hsqldb.jdbc.JDBCBlob.m_data:[B
         2: .line 756
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCBlob.m_createdByConnection:Z
         3: .line 757
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/jdbc/JDBCBlob;

  protected void checkReadonly();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 761
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlob.m_createdByConnection:Z
            ifne 4
         1: .line 762
            sipush 3706
         2: .line 763
            ldc "Blob is read-only"
         3: .line 762
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(ILjava/lang/String;)Ljava/sql/SQLException;
            athrow
         4: .line 765
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
    Exceptions:
      throws java.sql.SQLException

  protected synchronized void checkClosed();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 769
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlob.m_closed:Z
            ifeq 2
         1: .line 770
            sipush 1251
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(I)Ljava/sql/SQLException;
            athrow
         2: .line 772
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
    Exceptions:
      throws java.sql.SQLException

  protected byte[] data();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 775
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.getData:()[B
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
    Exceptions:
      throws java.sql.SQLException

  private synchronized byte[] getData();
    descriptor: ()[B
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
         0: .line 781
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.checkClosed:()V
         1: .line 783
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlob.m_data:[B
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
    Exceptions:
      throws java.sql.SQLException

  private synchronized void setData(byte[]);
    descriptor: ([B)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlob this
        start local 1 // byte[] data
         0: .line 789
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlob.checkClosed:()V
         1: .line 791
            aload 0 /* this */
            aload 1 /* data */
            putfield org.hsqldb.jdbc.JDBCBlob.m_data:[B
         2: .line 792
            return
        end local 1 // byte[] data
        end local 0 // org.hsqldb.jdbc.JDBCBlob this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/jdbc/JDBCBlob;
            0    3     1  data  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      data  
}
SourceFile: "JDBCBlob.java"
NestMembers:
  org.hsqldb.jdbc.JDBCBlob$1
InnerClasses:
  org.hsqldb.jdbc.JDBCBlob$1