@Override
	public boolean isValid(Program program, Address startAddress,
			DataValidationOptions validationOptions) {

		Memory memory = program.getMemory();
		if (!memory.contains(startAddress)) {
			return false;
		}

		// RTTI4 should start on a 4 byte boundary.
		if (startAddress.getOffset() % 4 != 0) {
			return false;
		}

		Listing listing = program.getListing();
		Address endAddress = startAddress.add(LENGTH - 1);
		try {
			MSDataTypeUtils.getBytes(memory, startAddress, LENGTH);
		}
		catch (InvalidDataTypeException e) {
			return false; // Couldn't get enough bytes from memory for an RTTI4.
		}

		if (!validationOptions.shouldIgnoreInstructions() &&
			containsInstruction(listing, startAddress, endAddress)) {
			return false;
		}

		if (!validationOptions.shouldIgnoreDefinedData() &&
			containsDefinedData(listing, startAddress, endAddress)) {
			return false;
		}

		// First 12 bytes is 3 dword numeric values.

		boolean validateReferredToData = validationOptions.shouldValidateReferredToData();

		// Fourth component should refer to RTTI0.
		Address rtti0CompAddress = startAddress.add(RTTI_0_OFFSET);
		Address rtti0Address = getReferencedAddress(program, rtti0CompAddress);
		if (rtti0Address == null ||
			(validateReferredToData && !rtti0.isValid(program, rtti0Address, validationOptions))) {
			return false;
		}

		// Last component should refer to RTTI3.
		Address rtti3CompAddress = startAddress.add(RTTI_3_OFFSET);
		Address rtti3Address = getReferencedAddress(program, rtti3CompAddress);
		if (rtti3Address == null ||
			(validateReferredToData && !rtti3.isValid(program, rtti3Address, validationOptions))) {
			return false;
		}

		return true;
	}
Gets the address of the RTTI3 that is referred to from an RTTI4 structure that is placed at 
the indicated address.
@param memory the memory with the data for the RTTI structures.
@param rtti4Address address of an RTTI4 structure
@return the address of the RTTI3 structure or null.
Ghidra/Features/Base/src/main/java/ghidra/app/util/datatype/microsoft/RTTI4DataType.java