code: public void replay(IDataLoggerReplay replay) throws IOException {
  		maybeRead();
  		this.randomAccess.rewind();
  		while (this.randomAccess.available() > (Integer.SIZE / Byte.SIZE)) {
  
  			int length = this.randomAccess.readInt();
  			short type = this.randomAccess.readShort();
  			XALogRecordType recordType = XALogRecordType.resolve(type);
  			byte[][] data = new byte[length][];
  			for (int i = 0; i < length; i++) {
  				int recordSize = this.randomAccess.readInt();
  				data[i] = this.randomAccess.read(recordSize);
  			}
  			replay.onRecord(recordType, data);
  		}
  
  	}
docs: the records a recovered from the format described in
  {@link #write(short, byte[][])}
  
  @param replay
  replayListener
  @throws IOException