public void TrimToSize() {
// first balance the tree for best performance
Balance();
// redimension the node arrays
RedimNodeArrays(freenode);
// ok, compact kv array
CharVector kx = new CharVector();
kx.Alloc(1);
TernaryTree map = new TernaryTree();
Compact(kx, map, root);
kv = kx;
kv.TrimToSize();
}