protected void makeString(boolean makeArray) {
		List<FoundString> foundStrings = new ArrayList<>();

		int[] selectedRows = table.getSelectedRows();
		FoundString nextItemToSelect = findNextItemToSelect(selectedRows);

		for (int selectedRow : selectedRows) {
			FoundString string = stringModel.getRowObject(selectedRow);
			if (!string.isDefined()) {
				foundStrings.add(string);
			}
		}

		boolean autoLabel = autoLabelCheckbox.isSelected();
		boolean addAlignmentBytes = addAlignmentBytesCheckbox.isSelected();
		boolean allowTruncate = allowTruncationCheckbox.isSelected();

		int offset = offsetField.getIntValue();

		MakeStringsTask task = new MakeStringsTask(currentProgram, foundStrings, offset,
			options.getAlignment(), autoLabel, addAlignmentBytes, allowTruncate, makeArray);

		new TaskLauncher(task, getComponent());

		List<StringEvent> stringEvents = task.getStringEvents();
		StringEventsTask eventsTask = new StringEventsTask(stringModel, options, stringEvents);
		new TaskLauncher(eventsTask, getComponent());

		if (task.hasErrors()) {
			String message =
				"One or more strings could not be created due to collisions with existing" +
					"\ndata or instructions. Check the String Table for those strings not created.";

			Msg.showInfo(this, getComponent(), "Error Making String(s)", message);
		}

		updateSelection(nextItemToSelect);

	}
Component provider for the Search -&gt; For Strings... result dialog.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/string/StringTableProvider.java