code: public boolean intersectsWith(Range other) {
          return !other.isEmpty() && !this.isEmpty() &&
                  (this.contains(other.lower) || other.contains(this.lower)
                          || (other.upper > upper && other.lower < lower));
      }
docs: Returns {@code true} if range intersects with {@code other} range.
  
  @param other other range
  @return {@code true} if range intersects with {@code other} range