private void searchOnce(boolean forward) {
		if (hasInvalidSearchSettings()) {
			return;
		}
		updateTitle();

		Address start = getSearchStartAddress(forward);
		AddressSet addresses = getSearchAddresses();
		MemorySearcher searcher = new MemorySearcher(byteSource, byteMatcher, addresses, 1);
		searcher.setMatchFilter(createFilter());

		setBusy(true);
		resultsPanel.searchOnce(searcher, start, forward);

		// Only update future memory search settings if this is a standard memory search provider
		// because we don't want potentially highly specialized inputs and settings to be in
		// the history for standard memory search operations.
		if (!isPrivate) {
			plugin.updateByteMatcher(byteMatcher);
		}
	}
ComponentProvider used to search memory and display search results.
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/gui/MemorySearchProvider.java