@Override
	protected void validateModelSpecificInfo() throws InvalidDataTypeException {
		// Does each catch handler map entry refer to a valid catch handler and type descriptor?
		Program program = getProgram();
		int numEntries = getCount();
		for (int catchHandlerOrdinal = 0; catchHandlerOrdinal < numEntries; catchHandlerOrdinal++) {
			Address catchHandlerAddress = getCatchHandlerAddress(catchHandlerOrdinal);
			if (catchHandlerAddress == null ||
				!EHDataTypeUtilities.isValidForFunction(program, catchHandlerAddress)) {
				throw new InvalidDataTypeException(getName() + " data type at " + getAddress() +
					" doesn't refer to a valid location for a catch handler for entry " +
					catchHandlerOrdinal + ".");
			}
			Address typeDescriptorAddress = getTypeDescriptorAddress(catchHandlerOrdinal);
			if (typeDescriptorAddress != null &&
				!EHDataTypeUtilities.isValidAddress(program, typeDescriptorAddress)) {
				throw new InvalidDataTypeException(getName() + " data type at " + getAddress() +
					" doesn't refer to a valid location for the type descriptor for entry " +
					catchHandlerOrdinal + ".");
			}
		}
	}
Whether or not the memory at the indicated address appears to be a valid location for the
indicated number of HandlerType data types.
@throws InvalidDataTypeException if this model's location does not appear to be a valid 
group of catch handler entries. The exception has a message indicating
why it does not appear to be a valid location for the data type.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/exceptionhandling/EHCatchHandlerModel.java