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