private void swapInLast() throws IOException {
		checkOpen();
		if (buffer == EMPTY) {
			return;
		}
		// swap em and return
		byte[] swapbuffer = buffer;
		long swapbufferOffset = bufferOffset;
		long swapbufferFileStartIndex = bufferFileStartIndex;

		buffer = lastbuffer;
		bufferOffset = lastbufferOffset;
		bufferFileStartIndex = lastbufferFileStartIndex;

		lastbuffer = swapbuffer;
		lastbufferOffset = swapbufferOffset;
		lastbufferFileStartIndex = swapbufferFileStartIndex;
	}
Ensures that enough bytes are cached to
satisfy the next request to read.
GPL/DMG/src/dmg/java/mobiledevices/dmg/ghidra/GRandomAccessFile.java