Problema com inserção em árvore binária

Olá pessoal, é meu primeiro post neste fórum.

Estou resolvendo uma atividade da faculdade. O problema parece ser bem simples, mas como sou iniciante, não consegui resolver.

Estou desenvolvendo uma árvore binária. Preciso inserir dados na árvore, usando o código abaixo:

public void insere(Pessoa no, ArvoreBinaria ab) {
if (ab.raiz == null) {
ab.raiz = no;
} else {
if (ab.raiz.nome.compareTo(no.nome) > 0) {
ab = ab.raiz.esquerda;
insere(no, ab);

        } else {
            ab = ab.raiz.direita;
            insere(no, ab);
        }
    }
}

Para testar o código gostaria de usar uma classe de inserção, mas não está dando certo.

public class AppQueUsaArvore {
public static void main(String[] args){

    ArvoreBinaria arvore = new ArvoreBinaria();  

    arvore.insere();               
          
}  

}

O que eu estou fazendo de errado?

Obrigado.

Acho que está fazendo tudo errado. Parece que está se confundindo com nó, árvore e valor, pois está misturando os termos no método inserir, deixando o código muito confuso.

No wiki tem o código pronto em Java

Obrigado pela réplica diego12, consegui resolver meu problema.