root.children[0].children = new List<Node>(root.children[0].children ?? new List<Node>()) {root.children[i]};
root.children[0].children = new List<Node>(root.children[0].children ?? new List<Node>()) {root.children[i]};
`
In this case the ?? operator is ordering the IDE like "hey, the value root.children[0].children can be the value of root.children at the ith position ?