private void UpdateAugmentedData(TextAnchorNode n)
{
if (!n.IsAlive)
MarkNodeForDelete(n);
var totalLength = n.length;
if (n.left != null)
totalLength += n.left.totalLength;
if (n.right != null)
totalLength += n.right.totalLength;
if (n.totalLength != totalLength)
{
n.totalLength = totalLength;
if (n.parent != null)
UpdateAugmentedData(n.parent);
}
}