public static DataType checkDataType(DataType dataType, boolean voidOK, int defaultSize,
			Program program) throws InvalidInputException {
		return checkDataType(dataType, voidOK, defaultSize, program.getDataTypeManager());
	}
Check the specified datatype for use as a return, parameter or variable type.  It may
not be suitable for other uses.  The following datatypes will be mutated into a default pointer datatype:
<ul>
<li>Function definition datatype</li>
<li>An unsized/zero-element array</li>
</ul>
@param dataType datatype to be checked
@param voidOK true if checking return datatype and void is allow, else false.
@param defaultSize Undefined datatype size to be used if specified datatype is null.  A value less than 1
will result in the DEFAULT data type being returned (i.e., "undefined").
@param program target program
@return cloned/mutated datatype suitable for function parameters and variables (including function return data type).
@throws InvalidInputException if an unacceptable datatype was specified
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/listing/VariableUtilities.java