protected abstract TimeUnit getTimespanTimeUnit();
public TimeInterval getTimeInterval() {
if (this.timeInterval==null)
this.timeInterval = new TimezoneAwareTimeInterval(start, end, getTimespanTimeUnit(), consensusTimezones, timezoneMap);
return this.timeInterval;
}