public bool Equals(Rect value) { return Equals(this, value); }
protected virtual bool DoesntContain(Rect rect, double otherStart, double otherEnd) { if (rect.Equals(Rect.Empty)) return true; double center = (otherStart + otherEnd)/2; if (center.IsInvalid()) return true; return center < start || center > end; }