private void findStrings(final Program program, AddressSetView addressSet,
			int minimumStringLength, int alignVal, boolean requireNullTermination,
			boolean includeAllCharWidths, TaskMonitor monitor) {

		FoundStringCallback foundStringCallback =
			foundString -> createStringIfValid(foundString, program, addressSet, monitor);

		StringSearcher searcher = new StringSearcher(program, minimumStringLength, alignVal,
			includeAllCharWidths, requireNullTermination);

		searcher.search(addressSet, foundStringCallback, true, monitor);
	}
Determines if found ASCII strings are valid strings, and creates them if so.

@param program   program in which to search for strings
@param addressSet  the address set to search
@param minimumStringLength  the minimum length of strings to be returned
@param alignVal	specifies any alignment requirements for the start of the string (valid
			values are 1, 2, or 4). An alignment of 1 means the string can start at any address.
			An alignment of 2 means	the string must start on an even address. An alignment of 4
			means the string must start on an address that is a multiple of 4. 
@param requireNullTermination  if true, only strings that end in a null will be returned
@param includeAllCharWidths	if true, UTF16 and UTF32 size strings will be included in 
			addition to UTF8
@param monitor  monitor for this process
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/string/StringsAnalyzer.java