public IEnumerable<TextChangeEventArgs> GetChangesTo(ITextSourceVersion other)
{
var result = CompareAge(other);
var o = (Version) other;
if (result < 0)
return GetForwardChanges(o);
if (result > 0)
return o.GetForwardChanges(this).Reverse().Select(change => change.Invert());
return Empty<TextChangeEventArgs>.Array;
}