@Override
	public void decode(Decoder decoder) throws DecoderException {
		int el = decoder.openElement(ELEM_OR_PAT);
		ArrayList<DisjointPattern> ors = new ArrayList<DisjointPattern>();
		int peek = decoder.peekElement();
		while (peek != 0) {
			ors.add(DisjointPattern.decodeDisjoint(decoder));
		}
		orlist = new DisjointPattern[ors.size()];
		int i = 0;
		for (DisjointPattern pat : ors) {
			orlist[i++] = pat;
		}
		decoder.closeElement(el);
	}
A pattern that can be matched by matching any of a list of subpatterns
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/processors/sleigh/pattern/OrPattern.java