* 
   * @param newDate the date of the new date-time, not null
   * @param newTime the time of the new date-time, not null
   * @return the date-time, not null
   */
  private LocalDateTime with(LocalDate newDate, LocalTime newTime) {

    if (this.date == newDate && this.time == newTime) {
      return this;
    }
    return new LocalDateTime(newDate, newTime);
  }