Como achar o maior valor em uma avore b Java

Pessoal tenho uma duvida, como fazer uma função que retorne o Nó com o maior valor de uma arvore B que armazena inteiros. Estou tentando adaptar o código de passeio em ordem para tentar retornar, porém só retorna null.
Na classe Node criei a seguinte função

Classe Node

public Node maiorValor() {
    int i;
    Node aux=null;
    for (i = 0; i < this.n; i++) {
        if (this.filhos[i] != null) {
            this.filhos[i].percorrerEmOrdem();
        }
         aux = this.filhos[i]; // recebe o valor

    }
    if (this.filhos[i] != null) {
        this.filhos[i].percorrerEmOrdem();
    }

    return  aux;// retorna aux
}


}

`
Na Classe BTree criei a seguinte função que será chamada pela classe Main que possui uma instancia de BTree

public Node maiorValor() {
        int i;
        Node aux;
        if (this.isEmpty() == false) {

            aux= root.maiorValor();
            return aux;
        } else {
            return null;
        }
    }
    }

Alguém pode me ajudar?