public Address getAddress(int modelRow, int modelColumn) {

		//
		// Try to find an address for the given cell.
		//
		// 1) Prefer columns that have a ProgramLocation, as they are already used for navigation.
		//
		ROW_TYPE rowObject = filteredData.get(modelRow);
		DynamicTableColumn<ROW_TYPE, ?, ?> tableColumn = getColumn(modelColumn);
		if (tableColumn instanceof ProgramLocationTableColumn<?, ?>) {
			@SuppressWarnings("unchecked")
			// we checked
			ProgramLocationTableColumn<ROW_TYPE, ?> programLocationColumn =
				(ProgramLocationTableColumn<ROW_TYPE, ?>) tableColumn;
			Settings settings = getColumnSettings(modelColumn);
			Object value =
				programLocationColumn.getValue(rowObject, settings, getProgram(), serviceProvider);
			if (value instanceof Address) {
				return (Address) value;
			}

			if (value instanceof ProgramLocation) {
				ProgramLocation programLocation = (ProgramLocation) value;
				return programLocation.getByteAddress();
			}

			ProgramLocation location = programLocationColumn.getProgramLocation(rowObject, settings,
				getProgram(), serviceProvider);
			if (location != null) {
				return location.getByteAddress();
			}
		}

		//
		// 2) See if the given cell value is an Address
		//
		Object columnValue = getColumnValueForRow(rowObject, modelColumn);
		if (columnValue instanceof Address) {
			return (Address) columnValue;
		}

		//
		// 3) Check to see if we can get an Address directly from my row object
		//
		Address address = getAddress(modelRow);
		if (address != null) {
			return address;
		}

		//
		// 4) Check for the case where we are using a mapped column that converted the current row
		// object into an Address row object.
		// 
		Object mappedRowObject = getMappedRowObject(tableColumn, rowObject, modelColumn);
		if (mappedRowObject instanceof Address) {
			return (Address) mappedRowObject;
		}

		return null;
	}
Returns an address for the given row and column.
@param modelRow the model row
@param modelColumn the column row
@return the address
Ghidra/Features/Base/src/main/java/ghidra/util/table/GhidraProgramTableModel.java