重新创建二进制搜索树BST

我有一个Binary Search Tree,它的每个节点都有两个值。

int value;
String name;

所以它的节点就是这样。

class Node {
        int value;
        String name;
        Node left, right;
}

我已根据节点“名称”变量的升序在BST中插入值。因此,树的有序遍历将以“名称”的升序返回节点。

现在,我想从此BST创建一个新的BST,其节点将根据“值”变量进行排序。任何想法如何做到这一点?