@Override
	protected void transformTheoryToRegularFormImpl() throws TheoryNormalizerException {
		if (AppFeatureConst.isVerifyConflictRules) {
			List<Superiority> superiorities = theory.getAllSuperiority();
			for (Superiority superiority : superiorities) {
				String superiorRuleId = superiority.getSuperior();
				String inferiorRuleId = superiority.getInferior();

				Rule superiorRule = factsAndRules.get(superiorRuleId);
				Rule inferiorRule = factsAndRules.get(inferiorRuleId);

				if (null == superiorRule) throw new TheoryNormalizerException(getClass(),
						ErrorMessage.THEORY_SUPERIOR_RULE_NOT_FOUND_IN_THEORY, new Object[] { superiorRuleId });
				if (null == inferiorRule) throw new TheoryNormalizerException(getClass(),
						ErrorMessage.THEORY_INFERIOR_RULE_NOT_FOUND_IN_THEORY, new Object[] { inferiorRuleId });

				if (!superiorRule.isConflictRule(inferiorRule)) throw new TheoryNormalizerException(getClass(),
						ErrorMessage.SUPERIORITY_UNCONFLICTING_RULES, new Object[] { superiorRuleId, inferiorRuleId });
			}
		}
		
		super.transformTheoryToRegularFormImpl();
	}