@Override
	public void setValueAt(Object aValue, int row, int column) {
		provider.setCursor(WAIT_CURSOR);
		try {

			MemoryBlock block = getBlockAt(row);
			if (block == null) {
				// this can happen when the tool is closing while an edit is open
				return;
			}

			doSetValueAt(aValue, row, column, block);
		}
		finally {
			provider.setCursor(DEFAULT_CURSOR);
		}
	}
Table Model for a Table where each entry represents a MemoryBlock from a Program's Memory.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/memory/MemoryMapModel.java