private ByteMatch findNextMatch() {
			int nextPossibleStart = findNextPossibleStart(startIndex);
			while (nextPossibleStart >= 0) {
				startIndex = nextPossibleStart + 1;
				if (isValidMatch(nextPossibleStart)) {
					return new ByteMatch(nextPossibleStart, searchBytes.length);
				}
				nextPossibleStart = findNextPossibleStart(startIndex);
			}
			return null;
		}
Constructor that includes a mask byte for each search byte.
@param input the input text used to create this matcher
@param bytes the sequence of bytes to use for searching
@param masks the sequence of mask bytes to use for search. Each mask byte will be applied
to the bytes being search before comparing them to the target bytes.
@param settings the {@link SearchSettings} used to parse the input text
Ghidra/Features/Base/src/main/java/ghidra/features/base/memsearch/matcher/MaskedByteSequenceByteMatcher.java