public class org.hsqldb.lib.FileArchiver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.lib.FileArchiver
  super_class: java.lang.Object
{
  public static final int COMPRESSION_NONE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.lib.FileArchiver this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.hsqldb.lib.FileArchiver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/lib/FileArchiver;

  public static void copyFile(java.lang.String, java.lang.String, org.hsqldb.lib.FileAccess);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.String infilename
        start local 1 // java.lang.String outfilename
        start local 2 // org.hsqldb.lib.FileAccess storage
         0: .line 81
            aload 0 /* infilename */
            aload 1 /* outfilename */
            aload 2 /* storage */
         1: .line 82
            iconst_0
         2: .line 81
            invokestatic org.hsqldb.lib.FileArchiver.archive:(Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;I)V
         3: .line 83
            return
        end local 2 // org.hsqldb.lib.FileAccess storage
        end local 1 // java.lang.String outfilename
        end local 0 // java.lang.String infilename
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0   infilename  Ljava/lang/String;
            0    4     1  outfilename  Ljava/lang/String;
            0    4     2      storage  Lorg/hsqldb/lib/FileAccess;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      infilename   
      outfilename  
      storage      

  public static void archive(java.lang.String, java.lang.String, org.hsqldb.lib.FileAccess, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // java.lang.String infilename
        start local 1 // java.lang.String outfilename
        start local 2 // org.hsqldb.lib.FileAccess storage
        start local 3 // int compressionType
         0: .line 89
            aconst_null
            astore 4 /* in */
        start local 4 // java.io.InputStream in
         1: .line 90
            aconst_null
            astore 5 /* f */
        start local 5 // java.io.OutputStream f
         2: .line 91
            aconst_null
            astore 6 /* fOut */
        start local 6 // java.io.OutputStream fOut
         3: .line 92
            aconst_null
            astore 7 /* deflater */
        start local 7 // java.util.zip.DeflaterOutputStream deflater
         4: .line 93
            iconst_0
            istore 8 /* completed */
        start local 8 // boolean completed
         5: .line 96
            aload 2 /* storage */
            aload 0 /* infilename */
            invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
            ifne 7
         6: .line 97
            return
         7: .line 101
      StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int
      StackMap stack:
            ldc 65536
            newarray 8
            astore 9 /* b */
        start local 9 // byte[] b
         8: .line 103
            aload 2 /* storage */
            aload 0 /* infilename */
            invokeinterface org.hsqldb.lib.FileAccess.openInputStreamElement:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 4 /* in */
         9: .line 104
            aload 2 /* storage */
            aload 1 /* outfilename */
            iconst_1
            invokeinterface org.hsqldb.lib.FileAccess.openOutputStreamElement:(Ljava/lang/String;Z)Ljava/io/OutputStream;
            astore 5 /* f */
        10: .line 105
            aload 5 /* f */
            astore 6 /* fOut */
        11: .line 107
            iload 3 /* compressionType */
            tableswitch { // 0 - 2
                    0: 18
                    1: 12
                    2: 16
              default: 19
          }
        12: .line 110
      StackMap locals: byte[]
      StackMap stack:
            new java.util.zip.DeflaterOutputStream
            dup
            aload 5 /* f */
        13: .line 111
            new java.util.zip.Deflater
            dup
            iconst_1
            invokespecial java.util.zip.Deflater.<init>:(I)V
            aload 9 /* b */
            arraylength
        14: .line 110
            invokespecial java.util.zip.DeflaterOutputStream.<init>:(Ljava/io/OutputStream;Ljava/util/zip/Deflater;I)V
            dup
            astore 7 /* deflater */
            astore 5 /* f */
        15: .line 112
            goto 22
        16: .line 115
      StackMap locals:
      StackMap stack:
            new java.util.zip.GZIPOutputStream
            dup
            aload 5 /* f */
            aload 9 /* b */
            arraylength
            invokespecial java.util.zip.GZIPOutputStream.<init>:(Ljava/io/OutputStream;I)V
            dup
            astore 7 /* deflater */
            astore 5 /* f */
        17: .line 116
            goto 22
        18: .line 119
      StackMap locals:
      StackMap stack:
            goto 22
        19: .line 122
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "FileArchiver"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 123
            iload 3 /* compressionType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 122
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 127
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            aload 9 /* b */
            iconst_0
            aload 9 /* b */
            arraylength
            invokevirtual java.io.InputStream.read:([BII)I
            istore 10 /* l */
        start local 10 // int l
        23: .line 129
            iload 10 /* l */
            iconst_m1
            if_icmpne 25
        24: .line 130
            goto 27
        25: .line 133
      StackMap locals: int
      StackMap stack:
            aload 5 /* f */
            aload 9 /* b */
            iconst_0
            iload 10 /* l */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 10 // int l
        26: .line 126
            goto 22
        27: .line 136
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 8 /* completed */
        end local 9 // byte[] b
        28: .line 137
            goto 46
      StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int
      StackMap stack: java.lang.Throwable
        29: astore 9 /* e */
        start local 9 // java.lang.Throwable e
        30: .line 138
            aload 9 /* e */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 9 // java.lang.Throwable e
        31: .line 139
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        32: .line 141
            aload 4 /* in */
            ifnull 34
        33: .line 142
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        34: .line 145
      StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int top top java.lang.Throwable
      StackMap stack:
            aload 5 /* f */
            ifnull 40
        35: .line 146
            aload 7 /* deflater */
            ifnull 37
        36: .line 147
            aload 7 /* deflater */
            invokevirtual java.util.zip.DeflaterOutputStream.finish:()V
        37: .line 150
      StackMap locals:
      StackMap stack:
            aload 6 /* fOut */
            instanceof java.io.FileOutputStream
            ifeq 39
        38: .line 151
            aload 2 /* storage */
            aload 6 /* fOut */
            invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
            invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
        39: .line 154
      StackMap locals:
      StackMap stack:
            aload 5 /* f */
            invokevirtual java.io.OutputStream.close:()V
        40: .line 157
      StackMap locals:
      StackMap stack:
            iload 8 /* completed */
            ifne 45
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
            ifeq 45
        41: .line 158
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
        42: .line 160
            goto 45
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        44: .line 161
            aload 12 /* e */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 12 // java.lang.Throwable e
        45: .line 163
      StackMap locals:
      StackMap stack:
            aload 11
            athrow
        46: .line 141
      StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream java.io.OutputStream java.util.zip.DeflaterOutputStream int
      StackMap stack:
            aload 4 /* in */
            ifnull 48
        47: .line 142
            aload 4 /* in */
            invokevirtual java.io.InputStream.close:()V
        48: .line 145
      StackMap locals:
      StackMap stack:
            aload 5 /* f */
            ifnull 54
        49: .line 146
            aload 7 /* deflater */
            ifnull 51
        50: .line 147
            aload 7 /* deflater */
            invokevirtual java.util.zip.DeflaterOutputStream.finish:()V
        51: .line 150
      StackMap locals:
      StackMap stack:
            aload 6 /* fOut */
            instanceof java.io.FileOutputStream
            ifeq 53
        52: .line 151
            aload 2 /* storage */
            aload 6 /* fOut */
            invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
            invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
        53: .line 154
      StackMap locals:
      StackMap stack:
            aload 5 /* f */
            invokevirtual java.io.OutputStream.close:()V
        54: .line 157
      StackMap locals:
      StackMap stack:
            iload 8 /* completed */
            ifne 59
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
            ifeq 59
        55: .line 158
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
        56: .line 160
            goto 59
      StackMap locals:
      StackMap stack: java.lang.Throwable
        57: astore 12 /* e */
        start local 12 // java.lang.Throwable e
        58: .line 161
            aload 12 /* e */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 12 // java.lang.Throwable e
        59: .line 164
      StackMap locals:
      StackMap stack:
            return
        end local 8 // boolean completed
        end local 7 // java.util.zip.DeflaterOutputStream deflater
        end local 6 // java.io.OutputStream fOut
        end local 5 // java.io.OutputStream f
        end local 4 // java.io.InputStream in
        end local 3 // int compressionType
        end local 2 // org.hsqldb.lib.FileAccess storage
        end local 1 // java.lang.String outfilename
        end local 0 // java.lang.String infilename
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   60     0       infilename  Ljava/lang/String;
            0   60     1      outfilename  Ljava/lang/String;
            0   60     2          storage  Lorg/hsqldb/lib/FileAccess;
            0   60     3  compressionType  I
            1   60     4               in  Ljava/io/InputStream;
            2   60     5                f  Ljava/io/OutputStream;
            3   60     6             fOut  Ljava/io/OutputStream;
            4   60     7         deflater  Ljava/util/zip/DeflaterOutputStream;
            5   60     8        completed  Z
            8   28     9                b  [B
           23   26    10                l  I
           30   31     9                e  Ljava/lang/Throwable;
           44   45    12                e  Ljava/lang/Throwable;
           58   59    12                e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7    28      29  Class java.lang.Throwable
           7    31      31  any
          32    42      43  Class java.lang.Throwable
          46    56      57  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      infilename       
      outfilename      
      storage          
      compressionType  

  public static void unarchive(java.lang.String, java.lang.String, org.hsqldb.lib.FileAccess, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/hsqldb/lib/FileAccess;I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=4
        start local 0 // java.lang.String infilename
        start local 1 // java.lang.String outfilename
        start local 2 // org.hsqldb.lib.FileAccess storage
        start local 3 // int compressionType
         0: .line 170
            aconst_null
            astore 4 /* f */
        start local 4 // java.io.InputStream f
         1: .line 171
            aconst_null
            astore 5 /* outstream */
        start local 5 // java.io.OutputStream outstream
         2: .line 172
            iconst_0
            istore 6 /* completed */
        start local 6 // boolean completed
         3: .line 175
            aload 2 /* storage */
            aload 0 /* infilename */
            invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
            ifne 17
         4: .line 220
            aload 4 /* f */
            ifnull 6
         5: .line 221
            aload 4 /* f */
            invokevirtual java.io.InputStream.close:()V
         6: .line 224
      StackMap locals: java.io.InputStream java.io.OutputStream int
      StackMap stack:
            aload 5 /* outstream */
            ifnull 11
         7: .line 225
            aload 5 /* outstream */
            invokevirtual java.io.OutputStream.flush:()V
         8: .line 227
            aload 5 /* outstream */
            instanceof java.io.FileOutputStream
            ifeq 10
         9: .line 228
            aload 2 /* storage */
            aload 5 /* outstream */
            invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
            invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
        10: .line 231
      StackMap locals:
      StackMap stack:
            aload 5 /* outstream */
            invokevirtual java.io.OutputStream.close:()V
        11: .line 234
      StackMap locals:
      StackMap stack:
            iload 6 /* completed */
            ifne 16
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
            ifeq 16
        12: .line 235
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
        13: .line 237
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        15: .line 238
            aload 10 /* e */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 10 // java.lang.Throwable e
        16: .line 176
      StackMap locals:
      StackMap stack:
            return
        17: .line 179
      StackMap locals:
      StackMap stack:
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
        18: .line 181
            ldc 65536
            newarray 8
            astore 7 /* b */
        start local 7 // byte[] b
        19: .line 183
            aload 2 /* storage */
            aload 0 /* infilename */
            invokeinterface org.hsqldb.lib.FileAccess.openInputStreamElement:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 4 /* f */
        20: .line 185
            iload 3 /* compressionType */
            tableswitch { // 0 - 2
                    0: 25
                    1: 21
                    2: 23
              default: 26
          }
        21: .line 188
      StackMap locals: byte[]
      StackMap stack:
            new java.util.zip.InflaterInputStream
            dup
            aload 4 /* f */
            new java.util.zip.Inflater
            dup
            invokespecial java.util.zip.Inflater.<init>:()V
            invokespecial java.util.zip.InflaterInputStream.<init>:(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V
            astore 4 /* f */
        22: .line 189
            goto 29
        23: .line 192
      StackMap locals:
      StackMap stack:
            new java.util.zip.GZIPInputStream
            dup
            aload 4 /* f */
            aload 7 /* b */
            arraylength
            invokespecial java.util.zip.GZIPInputStream.<init>:(Ljava/io/InputStream;I)V
            astore 4 /* f */
        24: .line 193
            goto 29
        25: .line 196
      StackMap locals:
      StackMap stack:
            goto 29
        26: .line 199
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "FileArchiver: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 200
            iload 3 /* compressionType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 199
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 203
      StackMap locals:
      StackMap stack:
            aload 2 /* storage */
            aload 1 /* outfilename */
            iconst_0
            invokeinterface org.hsqldb.lib.FileAccess.openOutputStreamElement:(Ljava/lang/String;Z)Ljava/io/OutputStream;
            astore 5 /* outstream */
        30: .line 206
      StackMap locals:
      StackMap stack:
            aload 4 /* f */
            aload 7 /* b */
            iconst_0
            aload 7 /* b */
            arraylength
            invokevirtual java.io.InputStream.read:([BII)I
            istore 8 /* l */
        start local 8 // int l
        31: .line 208
            iload 8 /* l */
            iconst_m1
            if_icmpne 33
        32: .line 209
            goto 35
        33: .line 212
      StackMap locals: int
      StackMap stack:
            aload 5 /* outstream */
            aload 7 /* b */
            iconst_0
            iload 8 /* l */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 8 // int l
        34: .line 205
            goto 30
        35: .line 215
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* completed */
        end local 7 // byte[] b
        36: .line 216
            goto 53
      StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream int
      StackMap stack: java.lang.Throwable
        37: astore 7 /* e */
        start local 7 // java.lang.Throwable e
        38: .line 217
            aload 7 /* e */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 7 // java.lang.Throwable e
        39: .line 218
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        40: .line 220
            aload 4 /* f */
            ifnull 42
        41: .line 221
            aload 4 /* f */
            invokevirtual java.io.InputStream.close:()V
        42: .line 224
      StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream int top top java.lang.Throwable
      StackMap stack:
            aload 5 /* outstream */
            ifnull 47
        43: .line 225
            aload 5 /* outstream */
            invokevirtual java.io.OutputStream.flush:()V
        44: .line 227
            aload 5 /* outstream */
            instanceof java.io.FileOutputStream
            ifeq 46
        45: .line 228
            aload 2 /* storage */
            aload 5 /* outstream */
            invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
            invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
        46: .line 231
      StackMap locals:
      StackMap stack:
            aload 5 /* outstream */
            invokevirtual java.io.OutputStream.close:()V
        47: .line 234
      StackMap locals:
      StackMap stack:
            iload 6 /* completed */
            ifne 52
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
            ifeq 52
        48: .line 235
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
        49: .line 237
            goto 52
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        51: .line 238
            aload 10 /* e */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 10 // java.lang.Throwable e
        52: .line 240
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        53: .line 220
      StackMap locals: java.lang.String java.lang.String org.hsqldb.lib.FileAccess int java.io.InputStream java.io.OutputStream int
      StackMap stack:
            aload 4 /* f */
            ifnull 55
        54: .line 221
            aload 4 /* f */
            invokevirtual java.io.InputStream.close:()V
        55: .line 224
      StackMap locals:
      StackMap stack:
            aload 5 /* outstream */
            ifnull 60
        56: .line 225
            aload 5 /* outstream */
            invokevirtual java.io.OutputStream.flush:()V
        57: .line 227
            aload 5 /* outstream */
            instanceof java.io.FileOutputStream
            ifeq 59
        58: .line 228
            aload 2 /* storage */
            aload 5 /* outstream */
            invokeinterface org.hsqldb.lib.FileAccess.getFileSync:(Ljava/io/OutputStream;)Lorg/hsqldb/lib/FileAccess$FileSync;
            invokeinterface org.hsqldb.lib.FileAccess$FileSync.sync:()V
        59: .line 231
      StackMap locals:
      StackMap stack:
            aload 5 /* outstream */
            invokevirtual java.io.OutputStream.close:()V
        60: .line 234
      StackMap locals:
      StackMap stack:
            iload 6 /* completed */
            ifne 65
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.isStreamElement:(Ljava/lang/String;)Z
            ifeq 65
        61: .line 235
            aload 2 /* storage */
            aload 1 /* outfilename */
            invokeinterface org.hsqldb.lib.FileAccess.removeElement:(Ljava/lang/String;)V
        62: .line 237
            goto 65
      StackMap locals:
      StackMap stack: java.lang.Throwable
        63: astore 10 /* e */
        start local 10 // java.lang.Throwable e
        64: .line 238
            aload 10 /* e */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 10 // java.lang.Throwable e
        65: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean completed
        end local 5 // java.io.OutputStream outstream
        end local 4 // java.io.InputStream f
        end local 3 // int compressionType
        end local 2 // org.hsqldb.lib.FileAccess storage
        end local 1 // java.lang.String outfilename
        end local 0 // java.lang.String infilename
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   66     0       infilename  Ljava/lang/String;
            0   66     1      outfilename  Ljava/lang/String;
            0   66     2          storage  Lorg/hsqldb/lib/FileAccess;
            0   66     3  compressionType  I
            1   66     4                f  Ljava/io/InputStream;
            2   66     5        outstream  Ljava/io/OutputStream;
            3   66     6        completed  Z
           19   36     7                b  [B
           31   34     8                l  I
           38   39     7                e  Ljava/lang/Throwable;
           15   16    10                e  Ljava/lang/Throwable;
           51   52    10                e  Ljava/lang/Throwable;
           64   65    10                e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           4    13      14  Class java.lang.Throwable
           3     4      37  Class java.lang.Throwable
          17    36      37  Class java.lang.Throwable
           3     4      39  any
          17    39      39  any
          40    49      50  Class java.lang.Throwable
          53    62      63  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      infilename       
      outfilename      
      storage          
      compressionType  
}
SourceFile: "FileArchiver.java"
InnerClasses:
  public abstract FileSync = org.hsqldb.lib.FileAccess$FileSync of org.hsqldb.lib.FileAccess