public void AddChildren(IEnumerable <IBlock> inputCharactors, Point caretPoint, string parentId) { if (IsIndexContainsCaret(caretPoint)) { if (null == Index) { Index = new BlockNode(); Index.ParentId = ID; } Index.AddChildren(inputCharactors, caretPoint, parentId); } if (IsBaseContainsCaret(caretPoint)) { if (null == Base) { Base = new BlockNode(); Base.ParentId = ID; } Base.AddChildren(inputCharactors, caretPoint, parentId); } }