public static TextSpan UntilEnd(this TextSpan current, TextSpan?next) { if (next == null) { return(current); } int absolute1 = next.Value.Position.Absolute + next.Value.Length; int absolute2 = current.Position.Absolute; return(current.First(absolute1 - absolute2)); }