public void search(TaskMonitor monitor) throws CancelledException {
					
		AbstractStringSearcher searcher = createSearcher();
		
		// Save off the set of addresses to search. This will be modified during the
		// search operation depending on whether loaded or unloaded blocks are to be 
		// searched.	
		AddressSetView updatedAddressSet = options.getAddressSet();
		
		updateNextString();
		
		if (options.includeUndefinedStrings() || options.includePartiallyDefinedStrings() ||
			options.includeConflictingStrings()) {
			updatedAddressSet = searcher.search(options.getAddressSet(), new AccumulatorAdapter(), options.useLoadedBlocksOnly(), monitor);
		}

		if (!options.includeDefinedStrings()) {
			return;
		}

		// Add defined strings to the accumulator that haven't been found by the StringSearcher
		monitor.setIndeterminate(true);
		while (nextDefinedString != null) {
			monitor.checkCancelled();
			if (!inRange(updatedAddressSet, nextDefinedString)) {
				updateNextString();
				continue;
			}

			if (!onlyShowWordStrings() ||
				((FoundStringWithWordStatus) nextDefinedString).isHighConfidenceWord()) {
				add(nextDefinedString);
			}

			updateNextString();
		}
	}
Searches the current program for strings based on the user-defined settings in
{@link StringTableOptions}.

@param monitor the task monitor
@throws CancelledException
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/string/CombinedStringSearcher.java