private void processPostPatterns(PatternPairSet pairSet) {
		//post patterns can have alignment and context register restrictions
		for (Pattern post : pairSet.getPostPatterns()) {
			int alignment = 0;
			for (PostRule postRule : post.getPostRules()) {
				if (postRule instanceof AlignRule) {
					AlignRule align = (AlignRule) postRule;
					alignment = align.getAlignMask();
					break; //there should only be one alignment constraint
				}
			}
			ContextRegisterFilter cRegFilter = new ContextRegisterFilter();
			for (MatchAction matchAction : post.getMatchActions()) {
				if (matchAction instanceof ContextAction) {
					ContextAction contextAction = (ContextAction) matchAction;
					String cReg = contextAction.getName();
					BigInteger value = contextAction.getValue();
					cRegFilter.addRegAndValueToFilter(cReg, value);
				}
			}
			PatternInfoRowObject postRow = new PatternInfoRowObject(PatternType.FIRST, post,
				cRegFilter.getValueMap().isEmpty() ? null : cRegFilter);
			if (alignment != 0) {
				postRow.setAlignment(alignment + 1);
			}
			plugin.addPattern(postRow);
		}
	}
Constructs an {@link ActionListener} for importing XML files
@param plugin associated {@link FunctionBitPatternsExplorerPlugin}
@param component parent
Ghidra/Features/BytePatterns/src/main/java/ghidra/bitpatterns/gui/ImportPatternFileActionListener.java