public Object getIP(int ipToStateEntryOrdinal) throws InvalidDataTypeException {
		checkValidity(ipToStateEntryOrdinal);
		DataType ipToStateDt = getDataType();
		MemBuffer specificMemBuffer = getSpecificMemBuffer(ipToStateEntryOrdinal, ipToStateDt);
		// component 0 is ULONG or displacement.

		if (isRelative()) { // displacement
			Address refAddress =
				EHDataTypeUtilities.getAddress(ipToStateDt, IP_ORDINAL, specificMemBuffer);
			return getAdjustedAddress(refAddress, 0);
		}

		// ULONG  - Does this actually represent an address?
		Scalar scalarValue =
			EHDataTypeUtilities.getScalarValue(ipToStateDt, IP_ORDINAL, specificMemBuffer);
		return scalarValue;
	}
Gets the IP value for the IP To State map as either an address of IP or as an IP value, 
if there is one, in the IpToStateMapEntry indicated by the ordinal.
@param ipToStateOrdinal 0-based ordinal indicating which IpToStateMapEntry in the map.
@return the IP value (as either an Address or a Scalar) for IP To State map.
@throws InvalidDataTypeException if valid IPToStateEntry data can't be created for 
the indicated ordinal.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/exceptionhandling/EHIPToStateModel.java