@Override
	public Object getValue(MemBuffer buf, Settings settings, int length) {
		Address addr = buf.getAddress();
		try {
			long segment = buf.getShort(0) & 0xffff;
			long offset = buf.getShort(2) & 0xffff;
			long addrValue = segment << 16 | offset;
			return addr.getNewAddress(addrValue, true);
		}
		catch (AddressOutOfBoundsException | MemoryAccessException ex) {
			// Do nothing... Tried to form an address that was not readable or
			// writeable.
		}
		return null;
	}
@see ghidra.program.model.data.DataType#getValue(ghidra.program.model.mem.MemBuffer, ghidra.docking.settings.Settings, int)
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/SegmentedCodePointerDataType.java