@Override
	public void findAndDisplayAppliedDataTypeAddresses(DataType dataType,
			FieldMatcher fieldMatcher) {

		ProgramManager programManagerService = tool.getService(ProgramManager.class);
		GoToService goToService = tool.getService(GoToService.class);
		Program program = programManagerService.getCurrentProgram();
		if (program == null) {
			Msg.showInfo(this, null, "Find References To...",
				"You must have a program open in order to use the 'Find References To...' action");
			return; // cannot find references to a data type if there is no open program
		}

		ProgramLocation genericLocation;
		if (fieldMatcher != null) {
			genericLocation =
				new GenericCompositeDataTypeProgramLocation(program, dataType, fieldMatcher);
		}
		else {
			genericLocation = new GenericDataTypeProgramLocation(program, dataType);
		}

		LocationDescriptor locationDescriptor = getLocationDescriptor(genericLocation);
		Navigatable navigatable = goToService.getDefaultNavigatable();
		LocationReferencesProvider provider = findProvider(locationDescriptor, navigatable);
		showProvider(program, provider, locationDescriptor, navigatable);
	}
@see ghidra.framework.plugintool.Plugin#dispose()
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/navigation/locationreferences/LocationReferencesPlugin.java