code: public int getRelationFlags(Interval<E> other)
    {
      if (other == null) return 0;
      int flags = 0;
      int comp11 = this.first.compareTo(other.first());   // 3 choices
      flags |= toRelFlags(comp11, REL_FLAGS_SS_SHIFT);
      int comp22 = this.second.compareTo(other.second());   // 3 choices
      flags |= toRelFlags(comp22, REL_FLAGS_EE_SHIFT);
      int comp12 = this.first.compareTo(other.second());   // 3 choices
      flags |= toRelFlags(comp12, REL_FLAGS_SE_SHIFT);
      int comp21 = this.second.compareTo(other.first());   // 3 choices
      flags |= toRelFlags(comp21, REL_FLAGS_ES_SHIFT);
      flags = addIntervalRelationFlags(flags, false);
      return flags;
    }
docs: Return set of flags indicating possible relationships between
  this interval and another interval.
  
  @param other Interval with which to compare with
  @return flags indicating possible relationship between this interval and the other interval