public void AppendNode(KVNode node) { if (type != KVNodeType.Root) { type = KVNodeType.Parent; } node.SetParent(this); this.value = null; if (node.Type == KVNodeType.KeyValue) { if (!Child.Exists(x => x.KeyName.Equals(node.KeyName))) { Child.Add(node); } else { SetValue(node.GetValue(), node.KeyName); } } else { Child.Add(node); } }