Dúvida com JTree Dinâmica + Banco de Dados

Vamos lá ao problema,

Tenho um exemplo de código de um cooperador do fórum,

//Classe LivroTreeModel
public void adicionarLivro(Livro livro)
        {
            livros.add(livro);
            fireLastPathComponentInserted(fakeRoot, livro);
        }

        public void adicionarAutor(Livro livro, Autor autor)
        {
            livro.addAutor(autor);
            fireLastPathComponentInserted(fakeRoot, livro, autor);
        }

        public void removerLivro(Livro livro)
        {
            if (livros.remove(livro))
            {
                fireLastPathComponentRemoved(fakeRoot, livro);
            }
        }

No caso acima, a árvore só possui 2 níveis, o de Livro e de Autores, portanto, ou se adiciona um Livro no nível 0, ou um Autor no nível 1.
Para adicinar um livro, é só adicionar um objeto na List livro e usar o FireLastPathComponentInserted, e no caso de um Autor é só adcionar dentro de um objeto Livro que possui uma list de Autor.

No meu caso, a árvore é feita de objetos do tipo Contas, cada conta tem uma classificação, por exemplo

Conta1 = classificação 1
Conta2 = classificação 2
Conta3 = classificação 1.1
Conta4 = classificação 1.1.1
Conta5 = classificação 2.1
Conta6 = classificação 1.1.2

A estrutura da árvore ficaria assim,

1-|
| |- 1.1-
| | |-1.1.1
| | |-1.1.2
|
2-|
| |- 2.1

Mas não consegui imaginar um meio para fazer um método de inserção desse meu TreeModel.

No Banco os dados se encontram da seguinte maneira

Conta | Class | Parent
Conta1 | 1 | X
Conta2 | 2 | X
Conta3 | 1.1 | 1
Conta 4 | 1.1.1 | 1.1

Gostaria de saber um maneira de fazer a inserção dessas Contas na Árvore.
Por exemplo, existe um meio de obter o path do node selecionado e adicioná-lo.

Obrigado!