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

		TreeSet<Literal> sameConflictLiterals = sameConflictLiteralsStore.get(origLiteral);
		if (null != sameConflictLiterals) return sameConflictLiterals;

		Literal literal = origLiteral.cloneWithNoTemporal();

		sameConflictLiterals = new TreeSet<Literal>();
		sameConflictLiterals.add(literal);

		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 l1 = literal.clone();
					l1.setMode(new Mode(modeStr, modeNeg));
					sameConflictLiterals.add(l1);

					Literal l2 = literal.getComplementClone();
					l2.setMode(new Mode(modeStr, negatedModeNeg));
					sameConflictLiterals.add(l2);
				}
			}
			Literal l = literal.getComplementClone();
			l.setMode(literalMode.getComplementClone());
			sameConflictLiterals.add(l);
		}
		sameConflictLiteralsStore.put(literal, sameConflictLiterals);
		return sameConflictLiterals;
	}