public void UpdateAugmentedData ()
{
int count = 1;
int totalLength = LengthIncludingDelimiter;
if (left != null) {
count += left.Count;
totalLength += left.TotalLength;
}
if (right != null) {
count += right.Count;
totalLength += right.TotalLength;
}
if (count != Count || totalLength != TotalLength) {
Count = count;
TotalLength = totalLength;
if (parent != null)
parent.UpdateAugmentedData ();
}
}