protected void computeAllForbids() {
		if (upatterns != null) {
			throw new IllegalStateException(
				"Already computed all forbidden patterns for this constructor");
		}
		Set<AssemblyResolvedPatterns> result = new HashSet<>();
		for (AssemblyResolvedPatterns pat : patterns) {
			AssemblyResolvedPatterns fpat = withComputedForbids(pat);
			result.add(fpat);
		}
		upatterns = Collections.unmodifiableSet(result);
	}
Initialize upatterns with an unmodifiable copy of patterns, with forbidden patterns added
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/sem/AssemblyConstructorSemantic.java