/// <summary>
        /// Добавление дочернего контента
        /// </summary>
        /// <param name="newChild">дочерний контент</param>
        public void AddChild(ChildContent newChild)
        {
            newChild.StartPosition -= TextStartPosition;

            int index          = -1;
            int childrenLength = 0;

            for (index = 0; index < Children.Count; ++index)
            {
                ChildContent child = Children[index];
                if (child.IsContain(newChild))
                {
                    child.AddChild(newChild);
                    return;
                }
                else if (newChild.IsContain(child))
                {
                    newChild.AddChild(child);
                    Children.RemoveAt(index);
                    --index;
                    continue;
                }
                else if (newChild.StartPosition + newChild.Length < child.StartPosition)
                {
                    break;
                }
                childrenLength += child.GetFullText().Length;
            }
            newChild.PreviousSymbol = TextValue.CharOrDefault(newChild.StartPosition - childrenLength - 1);
            newChild.NextSymbol     = TextValue.CharOrDefault(newChild.StartPosition - childrenLength);
            Children.Insert(index, newChild);
        }