private void searchBlock(SequenceSearchState root, MemoryBlock block,
			PatternEvaluationStats matchStats, Program program, TaskMonitor monitor) {
		ArrayList<Match> mymatches = new ArrayList<>();

		try {
			root.apply(block.getData(), mymatches, monitor);
		}
		catch (IOException e) {
			e.printStackTrace();
		}
		if (monitor.isCancelled()) {
			return;
		}

		for (int i = 0; i < mymatches.size(); ++i) {
			Match match = mymatches.get(i);
			if (onlyPrePatterns) {
				evaluatePrePatternMatch(match, program, block, matchStats);
			}
			else {
				evaluateMatch(match, program, block, matchStats);
			}
		}
	}
Evaluate a set of patterns
@param rows patterns to evaluate
@return statistics about the pattern matches
Ghidra/Features/BytePatterns/src/main/java/ghidra/bitpatterns/gui/ClipboardPanel.java