@Override
	public void validateModelSpecificInfo() throws InvalidDataTypeException {

		Program program = getProgram();
		Address startAddress = getAddress();
		boolean validateReferredToData = validationOptions.shouldValidateReferredToData();

		// Num1 is dword at SIGNATURE_OFFSET.
		// No additional validation for this yet.

		// Num2 is dword at VB_TABLE_OFFSET_OFFSET.
		// No additional validation for this yet.

		// Num3 is dword at CONSTRUCTOR_DISP_OFFSET_OFFSET.
		// No additional validation for this yet.

		// Next component should refer to RTTI0.
		Address rtti0CompAddress = startAddress.add(RTTI_0_PTR_OFFSET);
		Address rtti0Address = getReferencedAddress(program, rtti0CompAddress);
		if (rtti0Address == null) {
			throw new InvalidDataTypeException(getName() + " data type at " + getAddress() +
				" doesn't refer to a valid location " + rtti0Address + " for the Type Descriptor.");
		}
		rtti0Model = new TypeDescriptorModel(program, rtti0Address, validationOptions);
		if (validateReferredToData) {
			rtti0Model.validate();
		}
		else if (!rtti0Model.isLoadedAndInitializedAddress()) {
			throw new InvalidDataTypeException("Data referencing " + rtti0Model.getName() +
				" data type isn't a loaded and initialized address " + rtti0Address + ".");
		}

		// Last 4 bytes should refer to RTTI3.
		Address rtti3CompAddress = startAddress.add(RTTI_3_PTR_OFFSET);
		Address rtti3Address = getReferencedAddress(program, rtti3CompAddress);
		if (rtti3Address == null) {
			throw new InvalidDataTypeException(getName() + " data type at " + getAddress() +
				" doesn't refer to a valid location for the Class Hierarchy Descriptor.");
		}
		rtti3Model = new Rtti3Model(program, rtti3Address, validationOptions);
		if (validateReferredToData) {
			rtti3Model.validate();
		}
		else if (!rtti3Model.isLoadedAndInitializedAddress()) {
			throw new InvalidDataTypeException("Data referencing " + rtti3Model.getName() +
				" data type isn't a loaded and initialized address " + rtti3Address + ".");
		}
	}
Creates the model for the RTTI4 data type.
@param program the program
@param rtti4Address the address in the program for the RTTI4 data
types.
@param validationOptions options indicating how to validate the data type at the indicated 
address.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/rtti/Rtti4Model.java