code: public LocalDateRange span(LocalDateRange other) {
          Objects.requireNonNull(other, "other");
          int cmpStart = start.compareTo(other.start);
          int cmpEnd = end.compareTo(other.end);
          LocalDate newStart = (cmpStart >= 0 ? other.start : start);
          LocalDate newEnd = (cmpEnd <= 0 ? other.end : end);
          return LocalDateRange.of(newStart, newEnd);
      }
docs: Calculates the smallest range that encloses this range and the specified range.
  <p>
  The result of this method will {@linkplain #encloses(LocalDateRange) enclose}
  this range and the specified range.
  
  @param other  the other range to check for, not null
  @return the range that spans the two ranges