public void createFinalPatterns(ArrayList<Pattern> finalpats) {
		for (int i = 0; i < postPatterns.size(); ++i) {
			Pattern postpattern = postPatterns.get(i);
			int postcheck = postpattern.getNumFixedBits();
			if (postcheck < postBitsOfCheck) {
				continue;
			}
			for (DittedBitSequence prepattern : preSequences) {
				int precheck = prepattern.getNumFixedBits();
				if (precheck + postcheck < totalBitsOfCheck) {
					continue;
				}
				DittedBitSequence concat = prepattern.concatenate(postpattern);
				Pattern finalpattern = new Pattern(concat, prepattern.getSize(),
					postpattern.getPostRules(), postpattern.getMatchActions());
				finalpats.add(finalpattern);
			}
		}
	}
Construct an empty PatternPairSet.  Use XML to initialize the pattern sets.
Ghidra/Features/Base/src/main/java/ghidra/util/bytesearch/PatternPairSet.java