@Override
	protected void validateModelSpecificInfo() throws InvalidDataTypeException {

		Program program = getProgram();
		Memory memory = program.getMemory();
		AddressSetView loadedAndInitializedSet = memory.getLoadedAndInitializedAddressSet();
		Address startAddress = getAddress();

		// Do we at least have memory for the first 2 components (the pointers).
		int pointerSize = MSDataTypeUtils.is64Bit(program) ? 8 : 4;

		// Test that we can get the expected number of bytes.
		MSDataTypeUtils.getBytes(memory, startAddress, pointerSize * 2);

		// First component should be reference.
		checkVfTablePointerComponent(loadedAndInitializedSet);

		// Check Spare Data. Should be 0 or a valid address in program.
		checkSpareDataComponent(loadedAndInitializedSet);

		checkTypeNameComponent();
	}
Whether or not the memory at the indicated address appears to be a valid location for the
indicated number of TypeDescriptor data types.
@throws InvalidDataTypeException if this model's location does not appear to be a valid
group of TypeDescriptors. 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/TypeDescriptorModel.java