Ajuda com submenu recursivo

Boa tarde pessoal,

estou tentando fazer um código que me retorne através de uma string de caminho passada por parâmetro um menu com submenus da seguinte forma:

Estou usando a seguinte string para testes —> “TESTE0.TESTE1.TESTE2.TESTE3”

E quero retornar um menu com a seguinte estrutura:

TESTE0
----|
-------- TESTE1
-------------|
----------------- TESTE2
----------------------|
-------------------------- TESTE3

e para isso estou usando o seguinte código:

[code]public void addSubs(String caminhoCompleto) {

    String[] cam = caminhoCompleto.split("\\.");
    //subMenus é uma variável JMenu
    subMenus = montaSubMenu(cam, cam.length - 1, subMenus);
    //mBar é uma variável JMenuBar
    mBar.add(subMenus);
    
}


public JMenu montaSubMenu(String[] caminho, int tamanho, JMenu sm) {
    
    if (tamanho == 0) {
        System.out.println("Entrou no final");
        return sm;
    } else {
        System.out.println("Entrou no recursivo");
        return montaSubMenu(caminho, tamanho - 1, new JMenu(caminho[tamanho - 1].toString()));
    }
    
}[/code]

O método montaSubMenu percorre a recursividade normalmente, mas não está me retornando o menu montado … na minha barra de menus ao rodar o sistema so aparece um JMenu como TESTE0 e os submenus que deveriam estar dentro do TESTE0 não aparecem.

Alguém poderia me ajudar com esse problema???
O que pode estar errado nesse código???

Desde já agradeço a atenção
Alan