Children of key in sibling order, empty when it has none.
key
List<TreeNode<TKey, TItem>> childrenOf(TKey key) { return childrenByParent[key] ?? <TreeNode<TKey, TItem>>[]; }