public static ITextRange Intersection(ITextRange range1, ITextRange range2) { int start = Math.Max(range1.Start, range2.Start); int end = Math.Min(range1.End, range2.End); return start <= end ? TextRange.FromBounds(start, end) : TextRange.EmptyRange; }