public class org.hsqldb.persist.RAShadowFile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.persist.RAShadowFile
  super_class: java.lang.Object
{
  private static final int headerSize;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  final org.hsqldb.persist.EventLogInterface logger;
    descriptor: Lorg/hsqldb/persist/EventLogInterface;
    flags: (0x0010) ACC_FINAL

  final java.lang.String pathName;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  final org.hsqldb.persist.RandomAccessInterface source;
    descriptor: Lorg/hsqldb/persist/RandomAccessInterface;
    flags: (0x0010) ACC_FINAL

  org.hsqldb.persist.RandomAccessInterface dest;
    descriptor: Lorg/hsqldb/persist/RandomAccessInterface;
    flags: (0x0000) 

  final int pageSize;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final long maxSize;
    descriptor: J
    flags: (0x0010) ACC_FINAL

  final org.hsqldb.map.BitMap bitMap;
    descriptor: Lorg/hsqldb/map/BitMap;
    flags: (0x0010) ACC_FINAL

  boolean zeroPageSet;
    descriptor: Z
    flags: (0x0000) 

  long savedLength;
    descriptor: J
    flags: (0x0000) 

  long synchLength;
    descriptor: J
    flags: (0x0000) 

  byte[] buffer;
    descriptor: [B
    flags: (0x0000) 

  org.hsqldb.lib.HsqlByteArrayOutputStream byteArrayOutputStream;
    descriptor: Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
    flags: (0x0000) 

  void <init>(org.hsqldb.persist.EventLogInterface, org.hsqldb.persist.RandomAccessInterface, java.lang.String, long, int);
    descriptor: (Lorg/hsqldb/persist/EventLogInterface;Lorg/hsqldb/persist/RandomAccessInterface;Ljava/lang/String;JI)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.hsqldb.persist.RAShadowFile this
        start local 1 // org.hsqldb.persist.EventLogInterface logger
        start local 2 // org.hsqldb.persist.RandomAccessInterface source
        start local 3 // java.lang.String pathName
        start local 4 // long maxSize
        start local 6 // int pageSize
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            aload 1 /* logger */
            putfield org.hsqldb.persist.RAShadowFile.logger:Lorg/hsqldb/persist/EventLogInterface;
         2: .line 71
            aload 0 /* this */
            aload 3 /* pathName */
            putfield org.hsqldb.persist.RAShadowFile.pathName:Ljava/lang/String;
         3: .line 72
            aload 0 /* this */
            aload 2 /* source */
            putfield org.hsqldb.persist.RAShadowFile.source:Lorg/hsqldb/persist/RandomAccessInterface;
         4: .line 73
            aload 0 /* this */
            iload 6 /* pageSize */
            putfield org.hsqldb.persist.RAShadowFile.pageSize:I
         5: .line 74
            aload 0 /* this */
            lload 4 /* maxSize */
            putfield org.hsqldb.persist.RAShadowFile.maxSize:J
         6: .line 76
            lload 4 /* maxSize */
            iload 6 /* pageSize */
            i2l
            ldiv
            l2i
            istore 7 /* bitSize */
        start local 7 // int bitSize
         7: .line 78
            lload 4 /* maxSize */
            iload 6 /* pageSize */
            i2l
            lrem
            lconst_0
            lcmp
            ifeq 9
         8: .line 79
            iinc 7 /* bitSize */ 1
         9: .line 82
      StackMap locals: org.hsqldb.persist.RAShadowFile org.hsqldb.persist.EventLogInterface org.hsqldb.persist.RandomAccessInterface java.lang.String long int int
      StackMap stack:
            aload 0 /* this */
            new org.hsqldb.map.BitMap
            dup
            iload 7 /* bitSize */
            iconst_0
            invokespecial org.hsqldb.map.BitMap.<init>:(IZ)V
            putfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
        10: .line 83
            aload 0 /* this */
            iload 6 /* pageSize */
            bipush 12
            iadd
            newarray 8
            putfield org.hsqldb.persist.RAShadowFile.buffer:[B
        11: .line 84
            aload 0 /* this */
            new org.hsqldb.lib.HsqlByteArrayOutputStream
            dup
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.buffer:[B
            invokespecial org.hsqldb.lib.HsqlByteArrayOutputStream.<init>:([B)V
            putfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
        12: .line 85
            return
        end local 7 // int bitSize
        end local 6 // int pageSize
        end local 4 // long maxSize
        end local 3 // java.lang.String pathName
        end local 2 // org.hsqldb.persist.RandomAccessInterface source
        end local 1 // org.hsqldb.persist.EventLogInterface logger
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/hsqldb/persist/RAShadowFile;
            0   13     1    logger  Lorg/hsqldb/persist/EventLogInterface;
            0   13     2    source  Lorg/hsqldb/persist/RandomAccessInterface;
            0   13     3  pathName  Ljava/lang/String;
            0   13     4   maxSize  J
            0   13     6  pageSize  I
            7   13     7   bitSize  I
    MethodParameters:
          Name  Flags
      logger    
      source    
      pathName  
      maxSize   
      pageSize  

  int copy(long, int);
    descriptor: (JI)I
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.hsqldb.persist.RAShadowFile this
        start local 1 // long fileOffset
        start local 3 // int size
         0: .line 90
            iconst_0
            istore 4 /* pageCount */
        start local 4 // int pageCount
         1: .line 92
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.zeroPageSet:Z
            ifne 5
         2: .line 93
            iload 4 /* pageCount */
            aload 0 /* this */
            iconst_0
            invokevirtual org.hsqldb.persist.RAShadowFile.copy:(I)I
            iadd
            istore 4 /* pageCount */
         3: .line 95
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
            iconst_0
            invokevirtual org.hsqldb.map.BitMap.set:(I)I
            pop
         4: .line 97
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.persist.RAShadowFile.zeroPageSet:Z
         5: .line 100
      StackMap locals: int
      StackMap stack:
            lload 1 /* fileOffset */
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.maxSize:J
            lcmp
            iflt 7
         6: .line 101
            iload 4 /* pageCount */
            ireturn
         7: .line 104
      StackMap locals:
      StackMap stack:
            lload 1 /* fileOffset */
            iload 3 /* size */
            i2l
            ladd
            lstore 5 /* endOffset */
        start local 5 // long endOffset
         8: .line 106
            lload 5 /* endOffset */
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.maxSize:J
            lcmp
            ifle 10
         9: .line 107
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.maxSize:J
            lstore 5 /* endOffset */
        10: .line 110
      StackMap locals: long
      StackMap stack:
            lload 1 /* fileOffset */
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            i2l
            ldiv
            l2i
            istore 7 /* startPageOffset */
        start local 7 // int startPageOffset
        11: .line 111
            lload 5 /* endOffset */
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            i2l
            ldiv
            l2i
            istore 8 /* endPageOffset */
        start local 8 // int endPageOffset
        12: .line 113
            lload 5 /* endOffset */
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            i2l
            lrem
            lconst_0
            lcmp
            ifne 17
        13: .line 114
            iinc 8 /* endPageOffset */ -1
        14: .line 117
            goto 17
        15: .line 118
      StackMap locals: int int
      StackMap stack:
            iload 4 /* pageCount */
            aload 0 /* this */
            iload 7 /* startPageOffset */
            invokevirtual org.hsqldb.persist.RAShadowFile.copy:(I)I
            iadd
            istore 4 /* pageCount */
        16: .line 117
            iinc 7 /* startPageOffset */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* startPageOffset */
            iload 8 /* endPageOffset */
            if_icmple 15
        18: .line 121
            iload 4 /* pageCount */
            ireturn
        end local 8 // int endPageOffset
        end local 7 // int startPageOffset
        end local 5 // long endOffset
        end local 4 // int pageCount
        end local 3 // int size
        end local 1 // long fileOffset
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   19     0             this  Lorg/hsqldb/persist/RAShadowFile;
            0   19     1       fileOffset  J
            0   19     3             size  I
            1   19     4        pageCount  I
            8   19     5        endOffset  J
           11   19     7  startPageOffset  I
           12   19     8    endPageOffset  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      fileOffset  
      size        

  private int copy(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.hsqldb.persist.RAShadowFile this
        start local 1 // int pageOffset
         0: .line 126
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
            iload 1 /* pageOffset */
            invokevirtual org.hsqldb.map.BitMap.set:(I)I
            iconst_1
            if_icmpne 2
         1: .line 127
            iconst_0
            ireturn
         2: .line 130
      StackMap locals:
      StackMap stack:
            iload 1 /* pageOffset */
            i2l
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            i2l
            lmul
            lstore 2 /* position */
        start local 2 // long position
         3: .line 131
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            istore 4 /* readSize */
        start local 4 // int readSize
         4: .line 132
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.buffer:[B
            arraylength
            istore 5 /* writeSize */
        start local 5 // int writeSize
         5: .line 134
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.maxSize:J
            lload 2 /* position */
            lsub
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            i2l
            lcmp
            ifge 7
         6: .line 135
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.maxSize:J
            lload 2 /* position */
            lsub
            l2i
            istore 4 /* readSize */
         7: .line 138
      StackMap locals: long int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            ifnonnull 9
         8: .line 139
            aload 0 /* this */
            invokevirtual org.hsqldb.persist.RAShadowFile.open:()V
         9: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.length:()J
            lstore 6 /* writePos */
        start local 6 // long writePos
        10: .line 145
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.reset:()V
        11: .line 147
            iload 4 /* readSize */
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            if_icmpge 14
        12: .line 148
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            iconst_0
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.buffer:[B
            arraylength
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.fill:(II)V
        13: .line 149
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.reset:()V
        14: .line 152
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pageSize:I
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.writeInt:(I)V
        15: .line 153
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
            lload 2 /* position */
            invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.writeLong:(J)V
        16: .line 154
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.source:Lorg/hsqldb/persist/RandomAccessInterface;
            lload 2 /* position */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
        17: .line 155
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.source:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.buffer:[B
            bipush 12
            iload 4 /* readSize */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.read:([BII)V
        18: .line 156
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            lload 6 /* writePos */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
        19: .line 157
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.buffer:[B
            iconst_0
            iload 5 /* writeSize */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.write:([BII)V
        20: .line 159
            aload 0 /* this */
            lload 6 /* writePos */
            iload 5 /* writeSize */
            i2l
            ladd
            putfield org.hsqldb.persist.RAShadowFile.savedLength:J
        21: .line 161
            iconst_1
            ireturn
        22: .line 162
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8 /* t */
        start local 8 // java.lang.Throwable t
        23: .line 163
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
            iload 1 /* pageOffset */
            invokevirtual org.hsqldb.map.BitMap.unset:(I)I
            pop
        24: .line 164
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            lconst_0
            invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
        25: .line 165
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            lload 6 /* writePos */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.setLength:(J)Z
            pop
        26: .line 166
            aload 0 /* this */
            invokevirtual org.hsqldb.persist.RAShadowFile.close:()V
        27: .line 167
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.logger:Lorg/hsqldb/persist/EventLogInterface;
            new java.lang.StringBuilder
            dup
            ldc "shadow backup failure pos "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* position */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        28: .line 168
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* readSize */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 8 /* t */
        29: .line 167
            invokeinterface org.hsqldb.persist.EventLogInterface.logSevereEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
        30: .line 170
            aload 8 /* t */
            invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
            athrow
        end local 8 // java.lang.Throwable t
        end local 6 // long writePos
        end local 5 // int writeSize
        end local 4 // int readSize
        end local 2 // long position
        end local 1 // int pageOffset
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   31     0        this  Lorg/hsqldb/persist/RAShadowFile;
            0   31     1  pageOffset  I
            3   31     2    position  J
            4   31     4    readSize  I
            5   31     5   writeSize  I
           10   31     6    writePos  J
           23   31     8           t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          10    21      22  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      pageOffset  

  private void open();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.RAShadowFile this
         0: .line 175
            aload 0 /* this */
            new org.hsqldb.persist.RAFileSimple
            dup
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.logger:Lorg/hsqldb/persist/EventLogInterface;
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.pathName:Ljava/lang/String;
            ldc "rw"
            invokespecial org.hsqldb.persist.RAFileSimple.<init>:(Lorg/hsqldb/persist/EventLogInterface;Ljava/lang/String;Ljava/lang/String;)V
            putfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
         1: .line 176
            return
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/persist/RAShadowFile;
    Exceptions:
      throws java.io.IOException

  void close();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.RAShadowFile this
         0: .line 184
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            ifnull 4
         1: .line 185
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.synch:()V
         2: .line 186
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
         3: .line 188
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
         4: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/persist/RAShadowFile;
    Exceptions:
      throws java.io.IOException

  public void synch();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.RAShadowFile this
         0: .line 194
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            ifnull 3
         1: .line 195
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
            invokeinterface org.hsqldb.persist.RandomAccessInterface.synch:()V
         2: .line 197
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.savedLength:J
            putfield org.hsqldb.persist.RAShadowFile.synchLength:J
         3: .line 199
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/persist/RAShadowFile;

  public long getSavedLength();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.RAShadowFile this
         0: .line 202
            aload 0 /* this */
            getfield org.hsqldb.persist.RAShadowFile.savedLength:J
            lreturn
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/persist/RAShadowFile;

  public org.hsqldb.lib.InputStreamInterface getInputStream();
    descriptor: ()Lorg/hsqldb/lib/InputStreamInterface;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.persist.RAShadowFile this
         0: .line 206
            new org.hsqldb.persist.RAShadowFile$InputStreamShadow
            dup
            aload 0 /* this */
            invokespecial org.hsqldb.persist.RAShadowFile$InputStreamShadow.<init>:(Lorg/hsqldb/persist/RAShadowFile;)V
            areturn
        end local 0 // org.hsqldb.persist.RAShadowFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/persist/RAShadowFile;

  private static org.hsqldb.persist.RandomAccessInterface getStorage(org.hsqldb.Database, java.lang.String, java.lang.String);
    descriptor: (Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)Lorg/hsqldb/persist/RandomAccessInterface;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hsqldb.Database database
        start local 1 // java.lang.String pathName
        start local 2 // java.lang.String openMode
         0: .line 211
            new org.hsqldb.persist.RAFileSimple
            dup
            aload 0 /* database */
            getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
            aload 1 /* pathName */
            aload 2 /* openMode */
            invokespecial org.hsqldb.persist.RAFileSimple.<init>:(Lorg/hsqldb/persist/EventLogInterface;Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 2 // java.lang.String openMode
        end local 1 // java.lang.String pathName
        end local 0 // org.hsqldb.Database database
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  database  Lorg/hsqldb/Database;
            0    1     1  pathName  Ljava/lang/String;
            0    1     2  openMode  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      database  
      pathName  
      openMode  

  public static void restoreFile(org.hsqldb.Database, java.lang.String, java.lang.String);
    descriptor: (Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.hsqldb.Database database
        start local 1 // java.lang.String sourceName
        start local 2 // java.lang.String destName
         0: .line 220
            aload 0 /* database */
            aload 1 /* sourceName */
            ldc "r"
            invokestatic org.hsqldb.persist.RAShadowFile.getStorage:(Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)Lorg/hsqldb/persist/RandomAccessInterface;
            astore 3 /* source */
        start local 3 // org.hsqldb.persist.RandomAccessInterface source
         1: .line 221
            aload 0 /* database */
            aload 2 /* destName */
            ldc "rw"
            invokestatic org.hsqldb.persist.RAShadowFile.getStorage:(Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)Lorg/hsqldb/persist/RandomAccessInterface;
            astore 4 /* dest */
        start local 4 // org.hsqldb.persist.RandomAccessInterface dest
         2: .line 223
            goto 9
         3: .line 224
      StackMap locals: org.hsqldb.persist.RandomAccessInterface org.hsqldb.persist.RandomAccessInterface
      StackMap stack:
            aload 3 /* source */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.readInt:()I
            istore 5 /* size */
        start local 5 // int size
         4: .line 225
            aload 3 /* source */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.readLong:()J
            lstore 6 /* position */
        start local 6 // long position
         5: .line 226
            iload 5 /* size */
            newarray 8
            astore 8 /* buffer */
        start local 8 // byte[] buffer
         6: .line 228
            aload 3 /* source */
            aload 8 /* buffer */
            iconst_0
            aload 8 /* buffer */
            arraylength
            invokeinterface org.hsqldb.persist.RandomAccessInterface.read:([BII)V
         7: .line 229
            aload 4 /* dest */
            lload 6 /* position */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
         8: .line 230
            aload 4 /* dest */
            aload 8 /* buffer */
            iconst_0
            aload 8 /* buffer */
            arraylength
            invokeinterface org.hsqldb.persist.RandomAccessInterface.write:([BII)V
        end local 8 // byte[] buffer
        end local 6 // long position
        end local 5 // int size
         9: .line 223
      StackMap locals:
      StackMap stack:
            aload 3 /* source */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.getFilePointer:()J
            aload 3 /* source */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.length:()J
            lcmp
            ifne 3
        10: .line 233
            aload 3 /* source */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
        11: .line 234
            aload 4 /* dest */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.synch:()V
        12: .line 235
            aload 4 /* dest */
            invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
        13: .line 236
            return
        end local 4 // org.hsqldb.persist.RandomAccessInterface dest
        end local 3 // org.hsqldb.persist.RandomAccessInterface source
        end local 2 // java.lang.String destName
        end local 1 // java.lang.String sourceName
        end local 0 // org.hsqldb.Database database
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0    database  Lorg/hsqldb/Database;
            0   14     1  sourceName  Ljava/lang/String;
            0   14     2    destName  Ljava/lang/String;
            1   14     3      source  Lorg/hsqldb/persist/RandomAccessInterface;
            2   14     4        dest  Lorg/hsqldb/persist/RandomAccessInterface;
            4    9     5        size  I
            5    9     6    position  J
            6    9     8      buffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      database    
      sourceName  
      destName    
}
SourceFile: "RAShadowFile.java"
NestMembers:
  org.hsqldb.persist.RAShadowFile$InputStreamShadow
InnerClasses:
  InputStreamShadow = org.hsqldb.persist.RAShadowFile$InputStreamShadow of org.hsqldb.persist.RAShadowFile