private AddressSet getUndefined(TaskMonitor taskMonitor, ProgramLocationActionContext context) {

		AddressSetView startSet = getStartSet(context);
		startSet = adjustToCodeUnitBoundaries(startSet, context);
		AddressSetView definedDataSet = getDefinedData(context, startSet, taskMonitor);
		if (taskMonitor.isCancelled()) {
			return new AddressSet();//return an empty address set...
		}
		AddressSetView instructionSet = getInstructions(context, startSet, taskMonitor);
		if (taskMonitor.isCancelled()) {
			return new AddressSet();//return an empty address set...
		}
		AddressSet notUndefinedSet = definedDataSet.union(instructionSet);
		AddressSet undefinedSet = startSet.subtract(notUndefinedSet);
		return undefinedSet;
	}
<code>getUndefined</code> returns the undefined data associated with the selection
or with the program if there isn't a selection.

@param taskMonitor The task monitor that will monitor task progress.
@return AddressSet the undefined data address set.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/select/qualified/QualifiedSelectionPlugin.java