protected DataType getBaseType(DataType dt) {
		if (dt instanceof Array) {
			return getBaseType(((Array) dt).getDataType());
		}
		else if (dt instanceof Pointer) {
			DataType baseDataType = ((Pointer) dt).getDataType();
			if (baseDataType != null) {
				return getBaseType(baseDataType);
			}
		}
		else if (dt instanceof TypeDef) {
			return getBaseType(((TypeDef) dt).getBaseDataType());
		}
		return dt;
	}
A class that represents access to a Decompiler {@link ClangFieldToken} object.  This is the field
of a variable, denoted by {@link ClangVariableToken}.
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/extension/datatype/finder/DecompilerFieldAccess.java