public TreeSet<Literal> getConflictLiterals(Literal origLiteral) {
		if (isConflictRulesModified() || isConversionRulesModified()) {
			updateModeConversionConflictRules();
		}

		TreeSet<Literal> conflictLiterals = conflictLiteralsStore.get(origLiteral);
		if (null != conflictLiterals) return conflictLiterals;

		conflictLiterals = new TreeSet<Literal>(PLAIN_LITERAL_COMPARATOR);

		Literal literal = origLiteral.cloneWithNoTemporal();

		Literal literalComplement = literal.getComplementClone();
		conflictLiterals.add(literalComplement);

		Mode literalMode = literal.getMode();
		if (!"".equals(literalMode.getName())) {
			Set<String> modeList = allModeConflictRulesResolved.get(literalMode.getName());
			if (null != modeList) {
				boolean modeNeg=literalMode.isNegation();
				boolean negatedModeNeg=!modeNeg;
				for (String modeStr : modeList) {
					Literal conflictLiteral1 = literalComplement.clone();
					conflictLiteral1.setMode(new Mode(modeStr, modeNeg));
					conflictLiterals.add(conflictLiteral1);

					Literal conflictLiteral2 = literal.clone();
					conflictLiteral2.setMode(new Mode(modeStr, negatedModeNeg));
					conflictLiterals.add(conflictLiteral2);
				}
			}
			Literal conflictLiteral = literal.clone();
			conflictLiteral.setMode(literalMode.getComplementClone());
			conflictLiterals.add(conflictLiteral);
		}
		conflictLiteralsStore.put(literal, conflictLiterals);
		return conflictLiterals;
	}