@Override
	public FieldKeyNode deleteRecord(Field key, Table table) throws IOException {

		// Handle non-existent key - do nothing
		int index = getKeyIndex(key);
		if (index < 0) {
			return getRoot();
		}

		if (table != null) {
			table.deletedRecord(getRecord(table.getSchema(), index));
		}

		// Handle removal of last record in node
		if (keyCount == 1) {
			FixedKeyNode newRoot = removeLeaf();
			return newRoot;
		}

		// Remove record within this node
		remove(index);

		// Notify parent of leftmost key change
		if (index == 0 && parent != null) {
			parent.keyChanged(key, getKey(0));
		}

		return getRoot();
	}
Append a new leaf and insert the specified record.
@param record data record with long key
@return root node which may have changed.
@throws IOException thrown if IO error occurs
Ghidra/Framework/DB/src/main/java/db/FixedKeyRecordNode.java