private void searchMemoryForEncodings(
			Map<AssemblyPatternBlock, Set<WildOperandInfo>> encodings,
			List<WildAssemblyResolvedPatterns> allValidResolvedPatterns)
			throws MemoryAccessException {

		Memory memory = currentProgram.getMemory();

		for (var encoding : encodings.keySet()) {
			println("Searching for encoding: " + encoding.toString());

			// Start/restart back at currentAddress for each new encoding search
			var searchFromAddress = currentAddress;
			var matchCount = 0;

			// Stop if we run out of addresses or don't have a currentAddress
			while (searchFromAddress != null) {

				var matchAddress =
					memory.findBytes(searchFromAddress, encoding.getVals(), encoding.getMask(),
						getReusePreviousChoices(), monitor);
				if (matchAddress == null) {
					// No match found, go to next encoding
					break;
				}

				// Get the specific bytes found at this address and print match info
				var foundBytes = new byte[encoding.length()];
				memory.getBytes(matchAddress, foundBytes);
				printSearchHitInfo(matchAddress, foundBytes, allValidResolvedPatterns);

				// Continue to the next result (unless we've had 10 matches already)
				searchFromAddress = matchAddress.next();
				matchCount += 1;
				if (matchCount > 10) {
					println("Stopping after 10 matches!");
					break;
				}
			}
		}
	}
Searches for at most 10 matches for each given encoding, starting at {@code currentAddress}
and prints results to the console.
<p>
This searches encoding by encoding, restarting back at the start of memory for each.
<p>
Does not currently print wildcard information about the search results, but this could be
added.

@param encodings Map of encodings to that encoding's possible WildOperandInfo values.
@throws MemoryAccessException If we find bytes but can't read them
Ghidra/Features/WildcardAssembler/ghidra_scripts/FindInstructionWithWildcard.java