void close() throws IOException {

		if (recoveryFile == null) {
			return;
		}

		if (!readOnly && modified && !recoveryFile.isReadOnly()) {
			saveBufferMap();
			saveFreeIndexList();
			recoveryFile.setParameter(INDEX_COUNT_PARM, indexCnt);
			recoveryFile.setFreeIndexes(vfIndexProvider.getFreeIndexes());

			long t = (new Date()).getTime();
			recoveryFile.setParameter(TIMESTAMP_HI_PARM, (int) (t >>> 32));
			recoveryFile.setParameter(TIMESTAMP_LOW_PARM, (int) (t & 0xffffffffL));

			recoveryFile.setParameter(IS_VALID_PARM, VALID); // mark as valid
		}
		recoveryFile.close();
		recoveryFile = null;
	}
Construct a read-only recovery file
@param srcBf the original source buffer file to which this file applies.
@param rfile version buffer file to be updated/created
@throws IOException if the file already exists or an IO error occurs
Ghidra/Framework/DB/src/main/java/db/buffers/RecoveryFile.java