public static void updateAddressKey(Table table, AddressMap addrMap, Address fromAddr,
			Address toAddr, long length, TaskMonitor monitor)
			throws IOException, CancelledException {

		if (length <= 0) {
			throw new IllegalArgumentException("length must be > 0");
		}

		Address endAddr;
		try {
			endAddr = fromAddr.addNoWrap(length - 1);
		}
		catch (AddressOverflowException e) {
			throw new IllegalArgumentException("Illegal range: end range overflow");
		}

		updateAddressKey(table, addrMap, fromAddr, endAddr, toAddr, monitor);
	}
Handles redoing a table whose key is address based when a ranges of addresses is moved.
@param table the database table.
@param addrMap the address map.
@param fromAddr the from address of the block being moved.
@param toAddr the destination address of the block being moved.
@param length the size of the block being moved.
@param monitor the taskmonitor
@throws IOException thrown if a database io error occurs.
@throws CancelledException thrown if the user cancels the move operation.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/util/DatabaseTableUtils.java