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