public boolean during(Temporal temporal) {
		if (null == temporal) return false;
		if (this == temporal) return true;
		if (isTimeInstance()) {
			if (temporal.isTimeInstance()) return startTime == temporal.startTime;
			return !(startTime < temporal.startTime || temporal.endTime <= endTime);
		} else return !(startTime < temporal.startTime || temporal.endTime < endTime);
	}