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