code: public boolean[] position(Range that){
          boolean before = that.after(min);
          boolean after = that.before(max);
  
          boolean inside;
          if(before && after)
              inside = true;
          else if(!before && !after)
              inside = true;
          else if(before)
              inside = that.contains(max);
          else
              inside = that.contains(min);
          return new boolean[]{ before, inside, after };
      }
docs: tells the position this range with respect to given range.
  <p><br>
  the return value is boolean array of size 3.<br>
  <blockquote>
  1st boolean ==> true if some portion of this range is before given range<br>
  2nd boolean ==> true if this range intersects with given range<br>
  3rd boolean ==> true if some portion of this range is after given range
  </blockquote>
  ideally, you can remebers these boolean as { before, inside, after }