@Override
	public void remove(int index) throws IOException {

		if (index < 0 || index >= keyCount)
			throw new AssertException();

		if (hasIndirectStorage(index)) {
			removeChainedBuffer(buffer.getInt(getRecordDataOffset(index)));
			enableIndirectStorage(index, false);
		}

		int len = getFullRecordLength(index);
		moveRecords(index + 1, len);

		int start = HEADER_SIZE + ((index + 1) * ENTRY_SIZE);
		len = (keyCount - index - 1) * ENTRY_SIZE;
		buffer.move(start, start - ENTRY_SIZE, len);
		setKeyCount(keyCount - 1);
	}
Remove the record identified by index.
This will never be the last record within the node.
@param index record index
@throws IOException thrown if IO error occurs
Ghidra/Framework/DB/src/main/java/db/VarKeyRecordNode.java