private Node CreateNode(ILogicNode logicNode, float parentXPos) { var leftGrandChildrenCombinedCount = _tree.LeftSiblingsLeafCount(logicNode); int hierarchyLevel = _tree.GetHierarchyLevel(logicNode); var nodePos = GetNodePosition(hierarchyLevel, leftGrandChildrenCombinedCount, parentXPos); var node = _createNode(nodePos, logicNode); node.Title = logicNode.Name; return(node); }