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