public Set<Literal> getOverlappedLiterals(Literal literal, ProvabilityLevel provability) {
		Set<Literal> relatedLiterals = getRelatedLiterals(literal, provability);
		if (null == relatedLiterals) return null;

		Set<Literal> extractedLiterals = new TreeSet<Literal>();
		Temporal literalTemporal = literal.getTemporal();
		for (Literal l : relatedLiterals) {
			Temporal lt = l.getTemporal();
			if (null == literalTemporal || null == lt) {
				extractedLiterals.add(l);
			} else {
				if (literalTemporal.overlap(lt)) extractedLiterals.add(l);
			}
		}
		return extractedLiterals;
	}