private synchronized boolean preCacheBuffer(DataBuffer buf) throws IOException {

		int id = buf.getId();

		BufferNode node = getCachedBufferNode(id);
		if (node != null) {
			return false; // buffer already cached
		}

		// Create new buffer node at checkpoint 0 (baseline)
		node = createNewBufferNode(id, baselineCheckpointHead, null);
		node.buffer = buf;

		// Unload node to cache file and discard node buffer
		// which does not belong to memory cache
		unloadCachedNode(node);
		node.buffer = null;

		return true;
	}
Pre-cache an non-requested buffer from the sourceFile
@param buf source file data buffer
@throws IOException if cache file access error occurs
@return true if block added to cache, false if already cached
Ghidra/Framework/DB/src/main/java/db/buffers/BufferMgr.java