public Interval withStartDateTime(LocalDateTime dateTime) {
        requireNonNull(dateTime);
        return new Interval(dateTime.toLocalDate(), dateTime.toLocalTime(), endDate, endTime);
    }
public Interval withStartDateTime ( LocalDateTime dateTime ) { requireNonNull ( dateTime ) ; return new Interval ( dateTime . toLocalDate ( ) , dateTime . toLocalTime ( ) , endDate , endTime ) ; }
Returns a new interval based on this interval but with a different start date
and time.

@param dateTime the new start date and time
@return a new interval