docs: public static void restoreFile(String sourceName,
                                     String destName) throws IOException {
  
          RandomAccessFile source = new RandomAccessFile(sourceName, "r");
          RandomAccessFile dest   = new RandomAccessFile(destName, "rw");
  
          while (source.getFilePointer() != source.length()) {
              int    size     = source.readInt();
              long   position = source.readLong();
              byte[] buffer   = new byte[size];
  
              source.read(buffer);
              dest.seek(position);
              dest.write(buffer);
          }
  
          dest.seek(DataFileCache.LONG_FREE_POS_POS);
  
          long length = dest.readLong();
  
          JavaSystem.setRAFileLength(dest, length);
          source.close();
          dest.close();
      }