code: public boolean abuts(LocalDateRange other) {
          Objects.requireNonNull(other, "other");
          return end.equals(other.start) ^ start.equals(other.end);
      }
docs: Checks if this range abuts the specified range.
  <p>
  The result is true if the end of this range is the start of the other, or vice versa.
  An empty range does not abut itself.
  
  @param other  the other range, not null
  @return true if this range abuts the other range