private spindle.core.dom.Literal generateLiteral(CtLiteral cLiteral) throws ParserException {
		String name = cLiteral.getAtom();
		boolean isNegation = false;
		String modeName = cLiteral.getMode();
		boolean isModeNegation = false;

		List<CtLiteral.Not> cNegations = cLiteral.getNot();
		for (CtLiteral.Not cNegation : cNegations) {
			if (null != cNegation.getAtom()) {
				if (null != name) throw new ParserException("multiplue literal names are declared: " + name);
				name = cNegation.getAtom();
				isNegation = true;
			} else if (null != cNegation.getMode()) {
				if (null != modeName) throw new ParserException("multiplue literal modal operator are declared: " + modeName);
				modeName = cNegation.getMode();
				isModeNegation = true;
			}
		}

		spindle.core.dom.Literal literal = DomUtilities.getLiteral(name, isNegation, modeName, isModeNegation);

		CtInterval temporal = cLiteral.getInterval();
		if (null != temporal) literal.setTemporal(generateTemporal(temporal));

		String[] predicates = generatePredicates(cLiteral.getPredicates());
		if (null != predicates) literal.setPredicates(predicates);

		return literal;
	}