public void DivideIntoWords(ParseNodeDrawable parseNode) { var layers = parseNode.GetLayerInfo().DivideIntoWords(); parseNode.GetParent().RemoveChild(parseNode); foreach (var layerInfo in layers) { var symbol = new Symbol(layerInfo.GetMorphologicalParseAt(0).GetTreePos()); var child = new ParseNodeDrawable(symbol); parseNode.GetParent().AddChild(child); var grandChild = new ParseNodeDrawable(child, layerInfo.GetLayerDescription(), true, parseNode.GetDepth() + 1); child.AddChild(grandChild); ((ParseNodeDrawable)root).UpdateDepths(0); } }