public static void findDataTypeFieldReferences(Accumulator<LocationReference> accumulator,
			FieldMatcher fieldMatcher, Program program, boolean discoverTypes, TaskMonitor monitor)
			throws CancelledException {

		Objects.requireNonNull(fieldMatcher, "FieldMatcher cannot be null");
		doFindDataTypeReferences(accumulator, fieldMatcher, program, discoverTypes, monitor);
	}
Returns all references (locations) that use the given datatype.
<p>
<b>Note: </b> This method call may take a long time, as it must search all of the data
within the program and may also perform long running tasks, like decompiling every function
in the program.
<p>
The supplied field matcher will be used to restrict matches to the given field.  The matcher
may be 'empty', supplying only the data type for which to search.  In this case, all uses
of the type will be matched, regardless of field.

@param accumulator the results storage.
@param fieldMatcher the field matcher.
@param program The program from within which to find references.
@param discoverTypes if true, the {@link DataTypeReferenceFinder} service will be used to
search for data types that are not applied in memory.  Using the service will be slower, but
will recover type usage that could not be found by examining the Listing.
@param monitor A task monitor to be updated as data is searched; if this is null, then a
       dummy monitor will be used.
@throws CancelledException if the monitor is cancelled.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/navigation/locationreferences/ReferenceUtils.java