public class org.hsqldb.jdbc.JDBCBlobFile implements java.sql.Blob
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.jdbc.JDBCBlobFile
  super_class: java.lang.Object
{
  private static final org.hsqldb.lib.FrameworkLogger LOG;
    descriptor: Lorg/hsqldb/lib/FrameworkLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String TEMP_FILE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "hsql_jdbc_blob_file_"

  public static final java.lang.String TEMP_FILE_SUFFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".tmp"

  private final java.io.File m_file;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private java.util.List<java.lang.Object> m_streams;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/Object;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 84
            ldc Lorg/hsqldb/jdbc/JDBCBlobFile;
         1: .line 83
            invokestatic org.hsqldb.lib.FrameworkLogger.getLog:(Ljava/lang/Class;)Lorg/hsqldb/lib/FrameworkLogger;
            putstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
         2: .line 678
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public long length();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 98
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.checkClosed:()V
         1: .line 101
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.io.File.length:()J
         2: lreturn
         3: .line 102
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            astore 1 /* e */
        start local 1 // java.lang.SecurityException e
         4: .line 103
            aload 1 /* e */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 1 // java.lang.SecurityException e
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            4    5     1     e  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.SecurityException
    Exceptions:
      throws java.sql.SQLException

  public byte[] getBytes(long, int);
    descriptor: (JI)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // long pos
        start local 3 // int length
         0: .line 133
            aconst_null
            astore 4 /* is */
        start local 4 // java.io.InputStream is
         1: .line 134
            aconst_null
            astore 5 /* baos */
        start local 5 // java.io.ByteArrayOutputStream baos
         2: .line 136
            sipush 8192
            iload 3 /* length */
            invokestatic java.lang.Math.min:(II)I
         3: .line 135
            istore 6 /* initialBufferSize */
        start local 6 // int initialBufferSize
         4: .line 139
            aload 0 /* this */
            lload 1 /* pos */
            iload 3 /* length */
            i2l
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.getBinaryStream:(JJ)Ljava/io/InputStream;
            astore 4 /* is */
         5: .line 140
            new java.io.ByteArrayOutputStream
            dup
            iload 6 /* initialBufferSize */
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 5 /* baos */
         6: .line 142
            aload 4 /* is */
            aload 5 /* baos */
            iload 3 /* length */
            i2l
            invokestatic org.hsqldb.lib.InOutUtil.copy:(Ljava/io/InputStream;Ljava/io/OutputStream;J)J
            pop2
         7: .line 143
            goto 13
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile long int java.io.InputStream java.io.ByteArrayOutputStream int
      StackMap stack: java.io.IOException
         8: astore 7 /* ex */
        start local 7 // java.io.IOException ex
         9: .line 144
            aload 7 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 7 // java.io.IOException ex
        10: .line 145
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        11: .line 146
            aload 4 /* is */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/InputStream;)V
        12: .line 147
            aload 8
            athrow
        13: .line 146
      StackMap locals:
      StackMap stack:
            aload 4 /* is */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/InputStream;)V
        14: .line 149
            aload 5 /* baos */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 6 // int initialBufferSize
        end local 5 // java.io.ByteArrayOutputStream baos
        end local 4 // java.io.InputStream is
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   15     1                pos  J
            0   15     3             length  I
            1   15     4                 is  Ljava/io/InputStream;
            2   15     5               baos  Ljava/io/ByteArrayOutputStream;
            4   15     6  initialBufferSize  I
            9   10     7                 ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     7       8  Class java.io.IOException
           4    10      10  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     final
      length  final

  public java.io.InputStream getBinaryStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 165
            aload 0 /* this */
            lconst_1
            ldc 9223372036854775807
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.getBinaryStream:(JJ)Ljava/io/InputStream;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;
    Exceptions:
      throws java.sql.SQLException

  public long position(byte[], long);
    descriptor: ([BJ)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // byte[] pattern
        start local 2 // long start
         0: .line 188
            lload 2 /* start */
            lconst_1
            lcmp
            ifge 2
         1: .line 189
            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
         2: .line 190
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            ifnull 3
            aload 1 /* pattern */
            arraylength
            ifne 4
         3: .line 191
      StackMap locals:
      StackMap stack:
            ldc -1
            lreturn
         4: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.length:()J
            lstore 4 /* length */
        start local 4 // long length
         5: .line 196
            lload 2 /* start */
            lload 4 /* length */
            lcmp
            ifgt 7
            aload 1 /* pattern */
            arraylength
            i2l
            lload 4 /* length */
            lcmp
            ifgt 7
            lload 2 /* start */
            lload 4 /* length */
         6: .line 197
            aload 1 /* pattern */
            arraylength
            i2l
            lsub
            lcmp
            ifle 8
         7: .line 198
      StackMap locals: long
      StackMap stack:
            ldc -1
            lreturn
         8: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pattern */
            lload 2 /* start */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.position0:([BJ)J
            lreturn
        end local 4 // long length
        end local 2 // long start
        end local 1 // byte[] pattern
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0    9     1  pattern  [B
            0    9     2    start  J
            5    9     4   length  J
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      pattern  final
      start    final

  private long position0(byte[], long);
    descriptor: ([BJ)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // byte[] pattern
        start local 2 // long start
         0: .line 206
            aconst_null
            astore 4 /* is */
        start local 4 // java.io.InputStream is
         1: .line 209
            aload 0 /* this */
            lload 2 /* start */
            ldc 9223372036854775807
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.getBinaryStream:(JJ)Ljava/io/InputStream;
            astore 4 /* is */
         2: .line 215
            aload 4 /* is */
            aload 1 /* pattern */
         3: .line 216
            aload 1 /* pattern */
            invokestatic org.hsqldb.lib.KMPSearchAlgorithm.computeTable:([B)[I
         4: .line 215
            invokestatic org.hsqldb.lib.KMPSearchAlgorithm.search:(Ljava/io/InputStream;[B[I)J
            lstore 5 /* matchOffset */
        start local 5 // long matchOffset
         5: .line 218
            lload 5 /* matchOffset */
            ldc -1
            lcmp
            ifne 6
            ldc -1
            goto 7
         6: .line 219
      StackMap locals: java.io.InputStream long
      StackMap stack:
            lload 2 /* start */
            lload 5 /* matchOffset */
            ladd
      StackMap locals:
      StackMap stack: long
         7: lstore 8
         8: .line 223
            aload 4 /* is */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/InputStream;)V
         9: .line 218
            lload 8
            lreturn
        end local 5 // long matchOffset
        10: .line 220
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile byte[] long java.io.InputStream
      StackMap stack: java.io.IOException
            astore 5 /* ex */
        start local 5 // java.io.IOException ex
        11: .line 221
            aload 5 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 5 // java.io.IOException ex
        12: .line 222
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        13: .line 223
            aload 4 /* is */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/InputStream;)V
        14: .line 224
            aload 7
            athrow
        end local 4 // java.io.InputStream is
        end local 2 // long start
        end local 1 // byte[] pattern
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   15     1      pattern  [B
            0   15     2        start  J
            1   15     4           is  Ljava/io/InputStream;
            5   10     5  matchOffset  J
           11   12     5           ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     8      10  Class java.io.IOException
           1     8      12  any
          10    12      12  any
    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=9, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // java.sql.Blob pattern
        start local 2 // long start
         0: .line 247
            lload 2 /* start */
            lconst_1
            lcmp
            ifge 2
         1: .line 248
            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
         2: .line 251
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            ifnonnull 4
         3: .line 252
            ldc -1
            lreturn
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            invokeinterface java.sql.Blob.length:()J
            lstore 4 /* patternLength */
        start local 4 // long patternLength
         5: .line 257
            lload 4 /* patternLength */
            lconst_0
            lcmp
            ifne 7
         6: .line 258
            ldc -1
            lreturn
         7: .line 259
      StackMap locals: long
      StackMap stack:
            lload 4 /* patternLength */
            ldc 2147483647
            lcmp
            ifle 11
         8: .line 260
            new java.lang.StringBuilder
            dup
            ldc "pattern.length(): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 261
            lload 4 /* patternLength */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        10: .line 260
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        11: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.length:()J
            lstore 6 /* length */
        start local 6 // long length
        12: .line 266
            lload 2 /* start */
            lload 6 /* length */
            lcmp
            ifgt 14
            lload 4 /* patternLength */
            lload 6 /* length */
            lcmp
            ifgt 14
            lload 2 /* start */
            lload 6 /* length */
        13: .line 267
            lload 4 /* patternLength */
            lsub
            lcmp
            ifle 15
        14: .line 268
      StackMap locals: long
      StackMap stack:
            ldc -1
            lreturn
        15: .line 271
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            instanceof org.hsqldb.jdbc.JDBCBlob
            ifeq 17
        16: .line 272
            aload 1 /* pattern */
            checkcast org.hsqldb.jdbc.JDBCBlob
            invokevirtual org.hsqldb.jdbc.JDBCBlob.data:()[B
            goto 18
        17: .line 273
      StackMap locals:
      StackMap stack:
            aload 1 /* pattern */
            lconst_1
            lload 4 /* patternLength */
            l2i
            invokeinterface java.sql.Blob.getBytes:(JI)[B
        18: .line 271
      StackMap locals:
      StackMap stack: byte[]
            astore 8 /* bytePattern */
        start local 8 // byte[] bytePattern
        19: .line 275
            aload 0 /* this */
            aload 8 /* bytePattern */
            lload 2 /* start */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.position0:([BJ)J
            lreturn
        end local 8 // byte[] bytePattern
        end local 6 // long length
        end local 4 // long patternLength
        end local 2 // long start
        end local 1 // java.sql.Blob pattern
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   20     1        pattern  Ljava/sql/Blob;
            0   20     2          start  J
            5   20     4  patternLength  J
           12   20     6         length  J
           19   20     8    bytePattern  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      pattern  final
      start    final

  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.JDBCBlobFile this
        start local 1 // long pos
        start local 3 // byte[] bytes
         0: .line 324
            aload 0 /* this */
            lload 1 /* pos */
            aload 3 /* bytes */
            iconst_0
            aload 3 /* bytes */
            ifnonnull 1
            iconst_0
            goto 2
         1: .line 325
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile long byte[]
      StackMap stack: org.hsqldb.jdbc.JDBCBlobFile long byte[] int
            aload 3 /* bytes */
            arraylength
         2: .line 324
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile long byte[]
      StackMap stack: org.hsqldb.jdbc.JDBCBlobFile long byte[] int int
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.setBytes:(J[BII)I
            ireturn
        end local 3 // byte[] bytes
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0    3     1    pos  J
            0    3     3  bytes  [B
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
       Name  Flags
      pos    final
      bytes  final

  public int setBytes(long, byte[], int, int);
    descriptor: (J[BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // long pos
        start local 3 // byte[] bytes
        start local 4 // int offset
        start local 5 // int len
         0: .line 379
            aload 3 /* bytes */
            ifnonnull 2
         1: .line 380
            ldc "bytes"
            invokestatic org.hsqldb.jdbc.JDBCUtil.nullArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         2: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* pos */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.setBinaryStream:(J)Ljava/io/OutputStream;
            astore 6 /* os */
        start local 6 // java.io.OutputStream os
         3: .line 386
            aload 6 /* os */
            aload 3 /* bytes */
            iload 4 /* offset */
            iload 5 /* len */
            invokevirtual java.io.OutputStream.write:([BII)V
         4: .line 387
            goto 10
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile long byte[] int int java.io.OutputStream
      StackMap stack: java.io.IOException
         5: astore 7 /* ex */
        start local 7 // java.io.IOException ex
         6: .line 388
            aload 7 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 7 // java.io.IOException ex
         7: .line 389
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
         8: .line 390
            aload 6 /* os */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/OutputStream;)V
         9: .line 391
            aload 8
            athrow
        10: .line 390
      StackMap locals:
      StackMap stack:
            aload 6 /* os */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/OutputStream;)V
        11: .line 393
            iload 5 /* len */
            ireturn
        end local 6 // java.io.OutputStream os
        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.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   12     1     pos  J
            0   12     3   bytes  [B
            0   12     4  offset  I
            0   12     5     len  I
            3   12     6      os  Ljava/io/OutputStream;
            6    7     7      ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
           3     7       7  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     final
      bytes   final
      offset  final
      len     final

  public java.io.OutputStream setBinaryStream(long);
    descriptor: (J)Ljava/io/OutputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // long pos
         0: .line 439
            lload 1 /* pos */
            lconst_1
            lcmp
            ifge 2
         1: .line 440
            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.invalidArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         2: .line 443
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.checkClosed:()V
         3: .line 444
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.createFile:()V
         4: .line 449
            new org.hsqldb.jdbc.JDBCBlobFile$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            lload 1 /* pos */
            lconst_1
            lsub
            invokespecial org.hsqldb.jdbc.JDBCBlobFile$1.<init>:(Lorg/hsqldb/jdbc/JDBCBlobFile;Ljava/io/File;J)V
            astore 3 /* adapter */
        start local 3 // java.io.OutputStream adapter
         5: .line 463
            goto 12
        end local 3 // java.io.OutputStream adapter
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 4 /* ex */
        start local 4 // java.io.IOException ex
         7: .line 464
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.io.IOException ex
         8: .line 465
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 4 /* ex */
        start local 4 // java.lang.IllegalArgumentException ex
         9: .line 466
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.IllegalArgumentException ex
        10: .line 467
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            astore 4 /* ex */
        start local 4 // java.lang.SecurityException ex
        11: .line 468
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.SecurityException ex
        start local 3 // java.io.OutputStream adapter
        12: .line 471
      StackMap locals: java.io.OutputStream
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_streams:Ljava/util/List;
            aload 3 /* adapter */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        13: .line 473
            new java.io.BufferedOutputStream
            dup
            aload 3 /* adapter */
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* result */
        start local 4 // java.io.OutputStream result
        14: .line 475
            aload 4 /* result */
            areturn
        end local 4 // java.io.OutputStream result
        end local 3 // java.io.OutputStream adapter
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   15     1      pos  J
            5    6     3  adapter  Ljava/io/OutputStream;
           12   15     3  adapter  Ljava/io/OutputStream;
            7    8     4       ex  Ljava/io/IOException;
            9   10     4       ex  Ljava/lang/IllegalArgumentException;
           11   12     4       ex  Ljava/lang/SecurityException;
           14   15     4   result  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
           4     5       8  Class java.lang.IllegalArgumentException
           4     5      10  Class java.lang.SecurityException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      pos   final

  public void truncate(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // long len
         0: .line 512
            lload 1 /* len */
            lconst_0
            lcmp
            ifge 2
         1: .line 513
            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.invalidArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         2: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.checkClosed:()V
         3: .line 518
            aconst_null
            astore 3 /* randomAccessFile */
        start local 3 // java.io.RandomAccessFile randomAccessFile
         4: .line 521
            new java.io.RandomAccessFile
            dup
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            ldc "rw"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* randomAccessFile */
         5: .line 523
            aload 3 /* randomAccessFile */
            lload 1 /* len */
            invokevirtual java.io.RandomAccessFile.setLength:(J)V
         6: .line 524
            goto 16
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile long java.io.RandomAccessFile
      StackMap stack: java.io.IOException
         7: astore 4 /* ex */
        start local 4 // java.io.IOException ex
         8: .line 525
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.io.IOException ex
         9: .line 526
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 4 /* ex */
        start local 4 // java.lang.IllegalArgumentException ex
        10: .line 527
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.IllegalArgumentException ex
        11: .line 528
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            astore 4 /* ex */
        start local 4 // java.lang.SecurityException ex
        12: .line 529
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.SecurityException ex
        13: .line 530
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        14: .line 531
            aload 3 /* randomAccessFile */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/RandomAccessFile;)V
        15: .line 532
            aload 5
            athrow
        16: .line 531
      StackMap locals:
      StackMap stack:
            aload 3 /* randomAccessFile */
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/RandomAccessFile;)V
        17: .line 533
            return
        end local 3 // java.io.RandomAccessFile randomAccessFile
        end local 1 // long len
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   18     1               len  J
            4   18     3  randomAccessFile  Ljava/io/RandomAccessFile;
            8    9     4                ex  Ljava/io/IOException;
           10   11     4                ex  Ljava/lang/IllegalArgumentException;
           12   13     4                ex  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.io.IOException
           4     6       9  Class java.lang.IllegalArgumentException
           4     6      11  Class java.lang.SecurityException
           4    13      13  any
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      len   

  public synchronized void free();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 569
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_closed:Z
            ifeq 2
         1: .line 570
            return
         2: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_closed:Z
         3: .line 575
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_streams:Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* streams */
        start local 1 // java.util.List streams
         4: .line 577
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_streams:Ljava/util/List;
         5: .line 579
            aload 1 /* streams */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* itr */
        start local 2 // java.util.Iterator itr
         6: goto 9
         7: .line 580
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 2 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* stream */
        start local 3 // java.lang.Object stream
         8: .line 582
            aload 0 /* this */
            aload 3 /* stream */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/lang/Object;)V
        end local 3 // java.lang.Object stream
         9: .line 579
      StackMap locals:
      StackMap stack:
            aload 2 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 2 // java.util.Iterator itr
        10: .line 585
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_deleteOnFree:Z
            ifeq 14
        11: .line 587
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.io.File.delete:()Z
            pop
        12: .line 588
            goto 14
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile java.util.List
      StackMap stack: java.lang.SecurityException
        13: pop
        14: .line 590
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List streams
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            4   15     1  streams  Ljava/util/List<Ljava/lang/Object;>;
            6   10     2      itr  Ljava/util/Iterator<Ljava/lang/Object;>;
            8    9     3   stream  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.SecurityException
    Exceptions:
      throws java.sql.SQLException

  public java.io.InputStream getBinaryStream(long, long);
    descriptor: (JJ)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // long pos
        start local 3 // long length
         0: .line 611
            lload 1 /* pos */
            lconst_1
            lcmp
            ifge 2
         1: .line 612
            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
         2: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.checkClosed:()V
         3: .line 620
            new org.hsqldb.jdbc.JDBCBlobFile$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            lload 1 /* pos */
            lconst_1
            lsub
            lload 3 /* length */
            invokespecial org.hsqldb.jdbc.JDBCBlobFile$2.<init>:(Lorg/hsqldb/jdbc/JDBCBlobFile;Ljava/io/File;JJ)V
            astore 5 /* result */
        start local 5 // java.io.InputStream result
         4: .line 635
            goto 7
        end local 5 // java.io.InputStream result
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: astore 6 /* ex */
        start local 6 // java.lang.Exception ex
         6: .line 636
            aload 6 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 6 // java.lang.Exception ex
        start local 5 // java.io.InputStream result
         7: .line 639
      StackMap locals: java.io.InputStream
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_streams:Ljava/util/List;
            aload 5 /* result */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 641
            aload 5 /* result */
            areturn
        end local 5 // java.io.InputStream result
        end local 3 // long length
        end local 1 // long pos
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0    9     1     pos  J
            0    9     3  length  J
            4    5     5  result  Ljava/io/InputStream;
            7    9     5  result  Ljava/io/InputStream;
            6    7     6      ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
        Name  Flags
      pos     final
      length  final

  public java.io.File getFile();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 651
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;

  public boolean isDeleteOnFree();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 661
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_deleteOnFree:Z
            ireturn
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;

  public void setDeleteOnFree(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // boolean deleteOnFree
         0: .line 671
            aload 0 /* this */
            iload 1 /* deleteOnFree */
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_deleteOnFree:Z
         1: .line 672
            return
        end local 1 // boolean deleteOnFree
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0    2     1  deleteOnFree  Z
    MethodParameters:
              Name  Flags
      deleteOnFree  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 696
            aload 0 /* this */
            iconst_1
            invokespecial org.hsqldb.jdbc.JDBCBlobFile.<init>:(Z)V
         1: .line 697
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;
    Exceptions:
      throws java.sql.SQLException

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // boolean deleteOnFree
         0: .line 711
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 684
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_streams:Ljava/util/List;
         2: .line 713
            aload 0 /* this */
            iload 1 /* deleteOnFree */
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_deleteOnFree:Z
         3: .line 716
            aload 0 /* this */
            ldc "hsql_jdbc_blob_file_"
         4: .line 717
            ldc ".tmp"
         5: .line 716
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
         6: .line 717
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
         7: .line 716
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
         8: .line 718
            goto 11
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile int
      StackMap stack: java.io.IOException
         9: astore 2 /* ex */
        start local 2 // java.io.IOException ex
        10: .line 719
            aload 2 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 2 // java.io.IOException ex
        11: .line 721
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean deleteOnFree
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   12     1  deleteOnFree  Z
           10   11     2            ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     8       9  Class java.io.IOException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
              Name  Flags
      deleteOnFree  

  public void <init>(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // java.io.File file
         0: .line 735
            aload 0 /* this */
            aload 1 /* file */
            iconst_0
            invokespecial org.hsqldb.jdbc.JDBCBlobFile.<init>:(Ljava/io/File;Z)V
         1: .line 736
            return
        end local 1 // java.io.File file
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0    2     1  file  Ljava/io/File;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      file  final

  public void <init>(java.io.File, boolean);
    descriptor: (Ljava/io/File;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // java.io.File file
        start local 2 // boolean deleteOnFree
         0: .line 751
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 684
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_streams:Ljava/util/List;
         2: .line 754
            aload 0 /* this */
            iload 2 /* deleteOnFree */
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_deleteOnFree:Z
         3: .line 757
            aload 0 /* this */
            aload 1 /* file */
            invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
            putfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
         4: .line 758
            goto 7
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile java.io.File int
      StackMap stack: java.io.IOException
         5: astore 3 /* ex */
        start local 3 // java.io.IOException ex
         6: .line 759
            aload 3 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 3 // java.io.IOException ex
         7: .line 762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.checkIsFile:(Z)V
         8: .line 763
            return
        end local 2 // boolean deleteOnFree
        end local 1 // java.io.File file
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0    9     1          file  Ljava/io/File;
            0    9     2  deleteOnFree  Z
            6    7     3            ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
              Name  Flags
      file          final
      deleteOnFree  

  protected final void checkIsFile(boolean);
    descriptor: (Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // boolean checkExists
         0: .line 767
            iconst_0
            istore 2 /* exists */
        start local 2 // boolean exists
         1: .line 768
            iconst_0
            istore 3 /* isFile */
        start local 3 // boolean isFile
         2: .line 771
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            istore 2 /* exists */
         3: .line 772
            goto 6
      StackMap locals: org.hsqldb.jdbc.JDBCBlobFile int int int
      StackMap stack: java.lang.Exception
         4: astore 4 /* ex */
        start local 4 // java.lang.Exception ex
         5: .line 773
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.Exception ex
         6: .line 776
      StackMap locals:
      StackMap stack:
            iload 2 /* exists */
            ifeq 11
         7: .line 778
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.io.File.isFile:()Z
            istore 3 /* isFile */
         8: .line 779
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        10: .line 780
            aload 4 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 4 // java.lang.Exception ex
        11: .line 784
      StackMap locals:
      StackMap stack:
            iload 2 /* exists */
            ifeq 14
        12: .line 785
            iload 3 /* isFile */
            ifne 16
        13: .line 786
            new java.lang.StringBuilder
            dup
            ldc "Is not a file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.invalidArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        14: .line 788
      StackMap locals:
      StackMap stack:
            iload 1 /* checkExists */
            ifeq 16
        15: .line 789
            new java.lang.StringBuilder
            dup
            ldc "Does not exist: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.invalidArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        16: .line 791
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean isFile
        end local 2 // boolean exists
        end local 1 // boolean checkExists
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   17     1  checkExists  Z
            1   17     2       exists  Z
            2   17     3       isFile  Z
            5    6     4           ex  Ljava/lang/Exception;
           10   11     4           ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception
           7     8       9  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
             Name  Flags
      checkExists  

  private void checkClosed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 795
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_closed:Z
            ifeq 2
         1: .line 796
            sipush 1251
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(I)Ljava/sql/SQLException;
            athrow
         2: .line 798
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;
    Exceptions:
      throws java.sql.SQLException

  private void createFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
         0: .line 803
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifne 6
         1: .line 804
            invokestatic org.hsqldb.lib.FileUtil.getFileUtil:()Lorg/hsqldb/lib/FileUtil;
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual org.hsqldb.lib.FileUtil.makeParentDirectories:(Ljava/io/File;)V
         2: .line 805
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCBlobFile.m_file:Ljava/io/File;
            invokevirtual java.io.File.createNewFile:()Z
            pop
         3: .line 807
            goto 6
      StackMap locals:
      StackMap stack: java.io.IOException
         4: astore 1 /* ex */
        start local 1 // java.io.IOException ex
         5: .line 808
            aload 1 /* ex */
            invokestatic org.hsqldb.jdbc.JDBCUtil.sqlException:(Ljava/lang/Throwable;)Ljava/sql/SQLException;
            athrow
        end local 1 // java.io.IOException ex
         6: .line 811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.hsqldb.jdbc.JDBCBlobFile.checkIsFile:(Z)V
         7: .line 812
            return
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            5    6     1    ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    Exceptions:
      throws java.sql.SQLException

  private static void closeSafely(java.io.RandomAccessFile);
    descriptor: (Ljava/io/RandomAccessFile;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.RandomAccessFile target
         0: .line 816
            aload 0 /* target */
            ifnull 8
         1: .line 818
            aload 0 /* target */
            invokevirtual java.io.RandomAccessFile.close:()V
         2: .line 819
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 1 /* ignoredIoe */
        start local 1 // java.io.IOException ignoredIoe
         4: .line 820
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredIoe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredIoe */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException ignoredIoe
         5: goto 8
         6: .line 821
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ignoredRex */
        start local 1 // java.lang.Throwable ignoredRex
         7: .line 822
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredRex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredRex */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable ignoredRex
         8: .line 825
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.RandomAccessFile target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0      target  Ljava/io/RandomAccessFile;
            4    5     1  ignoredIoe  Ljava/io/IOException;
            7    8     1  ignoredRex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     2       6  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      target  

  private static void closeSafely(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.InputStream target
         0: .line 828
            aload 0 /* target */
            ifnull 8
         1: .line 830
            aload 0 /* target */
            invokevirtual java.io.InputStream.close:()V
         2: .line 831
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 1 /* ignoredIoe */
        start local 1 // java.io.IOException ignoredIoe
         4: .line 832
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredIoe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredIoe */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException ignoredIoe
         5: goto 8
         6: .line 833
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ignoredRex */
        start local 1 // java.lang.Throwable ignoredRex
         7: .line 834
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredRex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredRex */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable ignoredRex
         8: .line 837
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.InputStream target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0      target  Ljava/io/InputStream;
            4    5     1  ignoredIoe  Ljava/io/IOException;
            7    8     1  ignoredRex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     2       6  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      target  

  private static void closeSafely(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.OutputStream target
         0: .line 840
            aload 0 /* target */
            ifnull 8
         1: .line 842
            aload 0 /* target */
            invokevirtual java.io.OutputStream.close:()V
         2: .line 843
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 1 /* ignoredIoe */
        start local 1 // java.io.IOException ignoredIoe
         4: .line 844
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredIoe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredIoe */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException ignoredIoe
         5: goto 8
         6: .line 845
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ignoredRex */
        start local 1 // java.lang.Throwable ignoredRex
         7: .line 846
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredRex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredRex */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable ignoredRex
         8: .line 849
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.OutputStream target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0      target  Ljava/io/OutputStream;
            4    5     1  ignoredIoe  Ljava/io/IOException;
            7    8     1  ignoredRex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     2       6  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      target  

  private static void closeSafely(java.io.Reader);
    descriptor: (Ljava/io/Reader;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.Reader target
         0: .line 852
            aload 0 /* target */
            ifnull 8
         1: .line 854
            aload 0 /* target */
            invokevirtual java.io.Reader.close:()V
         2: .line 855
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 1 /* ignoredIoe */
        start local 1 // java.io.IOException ignoredIoe
         4: .line 856
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredIoe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredIoe */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException ignoredIoe
         5: goto 8
         6: .line 857
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ignoredRex */
        start local 1 // java.lang.Throwable ignoredRex
         7: .line 858
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredRex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredRex */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable ignoredRex
         8: .line 861
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.Reader target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0      target  Ljava/io/Reader;
            4    5     1  ignoredIoe  Ljava/io/IOException;
            7    8     1  ignoredRex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     2       6  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      target  

  private static void closeSafely(java.io.Writer);
    descriptor: (Ljava/io/Writer;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.io.Writer target
         0: .line 864
            aload 0 /* target */
            ifnull 8
         1: .line 866
            aload 0 /* target */
            invokevirtual java.io.Writer.close:()V
         2: .line 867
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 1 /* ignoredIoe */
        start local 1 // java.io.IOException ignoredIoe
         4: .line 868
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredIoe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredIoe */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException ignoredIoe
         5: goto 8
         6: .line 869
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* ignoredRex */
        start local 1 // java.lang.Throwable ignoredRex
         7: .line 870
            getstatic org.hsqldb.jdbc.JDBCBlobFile.LOG:Lorg/hsqldb/lib/FrameworkLogger;
            aload 1 /* ignoredRex */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 1 /* ignoredRex */
            invokevirtual org.hsqldb.lib.FrameworkLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable ignoredRex
         8: .line 873
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.Writer target
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0      target  Ljava/io/Writer;
            4    5     1  ignoredIoe  Ljava/io/IOException;
            7    8     1  ignoredRex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     2       6  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      target  

  private void closeSafely(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCBlobFile this
        start local 1 // java.lang.Object target
         0: .line 876
            aload 1 /* target */
            instanceof java.io.RandomAccessFile
            ifeq 3
         1: .line 877
            aload 1 /* target */
            checkcast java.io.RandomAccessFile
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/RandomAccessFile;)V
         2: .line 878
            goto 14
      StackMap locals:
      StackMap stack:
         3: aload 1 /* target */
            instanceof java.io.InputStream
            ifeq 6
         4: .line 879
            aload 1 /* target */
            checkcast java.io.InputStream
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/InputStream;)V
         5: .line 880
            goto 14
      StackMap locals:
      StackMap stack:
         6: aload 1 /* target */
            instanceof java.io.OutputStream
            ifeq 9
         7: .line 881
            aload 1 /* target */
            checkcast java.io.OutputStream
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/OutputStream;)V
         8: .line 882
            goto 14
      StackMap locals:
      StackMap stack:
         9: aload 1 /* target */
            instanceof java.io.Reader
            ifeq 12
        10: .line 883
            aload 1 /* target */
            checkcast java.io.Reader
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/Reader;)V
        11: .line 884
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 1 /* target */
            instanceof java.io.Writer
            ifeq 14
        13: .line 885
            aload 1 /* target */
            checkcast java.io.Writer
            invokestatic org.hsqldb.jdbc.JDBCBlobFile.closeSafely:(Ljava/io/Writer;)V
        14: .line 887
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object target
        end local 0 // org.hsqldb.jdbc.JDBCBlobFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lorg/hsqldb/jdbc/JDBCBlobFile;
            0   15     1  target  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      target  
}
SourceFile: "JDBCBlobFile.java"
NestMembers:
  org.hsqldb.jdbc.JDBCBlobFile$1  org.hsqldb.jdbc.JDBCBlobFile$2  org.hsqldb.jdbc.JDBCBlobFile$InputStreamAdapter  org.hsqldb.jdbc.JDBCBlobFile$OutputStreamAdapter
InnerClasses:
  org.hsqldb.jdbc.JDBCBlobFile$1
  org.hsqldb.jdbc.JDBCBlobFile$2
  InputStreamAdapter = org.hsqldb.jdbc.JDBCBlobFile$InputStreamAdapter of org.hsqldb.jdbc.JDBCBlobFile
  protected OutputStreamAdapter = org.hsqldb.jdbc.JDBCBlobFile$OutputStreamAdapter of org.hsqldb.jdbc.JDBCBlobFile