AVL Rejeitar repetidos

é possível altera o código abaixo pra fazer que ele rejeite valores que já foram inseridos
tipo inseri 1,2,3 e quando eu for inserir 2 novamente ele não faça nada por ja ter inserido ele.

se tiver, poderia me informa ou da uma dica de como fazer isso?

esse codigo é um método de inserção de uma arvore AVL.

protected T inserirNoHelper(No atual, int chave) {

    T node = novoNode(chave);
    node.setChave(chave);

    No folhaCorreta = null;
    //No atual = this.raiz;

    while (atual != null) {
        folhaCorreta = atual;

        if (node.getChave() < atual.getChave()) {
            atual = atual.getEsquerda();
        } else {
            atual = atual.getDireita();
        }
    }

    // <<folhaCorreta>> é pai de <<node>>
    node.setPai(folhaCorreta);
    if (folhaCorreta == null) {
        raiz = node;
    } else if (node.getChave() < folhaCorreta.getChave()) {
        folhaCorreta.setEsquerda(node);
    } else {
        folhaCorreta.setDireita(node);
    }

    return node;
}
if (node.getChave() < atual.getChave()) { 
   atual = atual.getEsquerda(); 
} else if (node.getChave() > atual.getChave()) { 
   atual = atual.getDireita(); 
} else {
   // nó ja existente,  faz o que pretenderes nesses casos,
  //  pode ser throw de exception ou retornar null
     return null;
}
1 curtida