public void validate() throws InvalidDataTypeException {
		if (alreadyValidated) {
			if (exceptionMessage != null) {
				throw new InvalidDataTypeException(exceptionMessage);
			}
			return; // It was already determined to be valid.
		}

		try {
			alreadyValidated = true;
			isValid = true;
			doValidate();
			validateModelSpecificInfo();
		}
		catch (InvalidDataTypeException e) {
			isValid = false;
			exceptionMessage = e.getMessage();
			throw e;
		}
	}
Whether or not the memory at the indicated address appears to be a valid location for the
indicated number of the indicated data type.
@throws InvalidDataTypeException if this model's location doesn't appear to be valid for
a group of entries of the indicated data type. 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/AbstractCreateDataTypeModel.java