code: public Interval expand(Interval<E> other)
    {
      if (other == null) return this;
      E a = min(this.first, other.first);
      E b = max(this.second, other.second);
      return toInterval(a,b);
    }
docs: Returns (smallest) interval that contains both this and the other interval
  @param other - Other interval to include
  @return Smallest interval that contains both this and the other interval