public PersistNode <TK, TV, TI> ToPersistable(ITrieNode <TK, TV, TI> node) { var persistable = new PersistNode <TK, TV, TI> { Children = node.Children().Select(p => { var c = ToPersistable(p.Value); c.Key = p.Key; return(c); }).ToList(), Values = node.Pairs().ToList() }; return(persistable); }