public int getLength(Memory memory, Address address, byte[] bytes) {
		Program program = memory.getProgram();
		// RTTI1 should start on a 4 byte boundary.
		if (address.getOffset() % 4 != 0) {
			return 0;
		}
		// RTTI1 is 28 bytes.
		if (bytes.length < LENGTH) {
			return 0;
		}

		// First component is either a direct reference or an image base offset.
		Address pointedToAddress = getReferencedAddress(program, address);
		if (pointedToAddress == null || !memory.contains(pointedToAddress)) {
			return 0;
		}

		return LENGTH;
	}
Gets the total length of the data created when this data type is placed at the indicated 
address in memory.
@param memory the program memory for this data.
@param address the start address of the data.
@param bytes the bytes for this data.
@return the length of the data. zero is returned if valid data can't be created at the 
indicated address using this data type.
Ghidra/Features/Base/src/main/java/ghidra/app/util/datatype/microsoft/RTTI1DataType.java