code: public Interval withDates(LocalDate startDate, LocalDate endDate) {
          requireNonNull(startDate);
          requireNonNull(endDate);
          return new Interval(startDate, this.startTime, endDate, this.endTime, this.zoneId);
      }
docs: Returns a new interval based on this interval but with a different start
  and end date.
  
  @param startDate the new start date
  @param endDate the new end date
  @return a new interval