Arvore de Decisão

Pessoal preciso desenvolver uma árvore de decisão como a estrutura abaixo, onde eu possa expandir os níveis ou editar, incluir, mover, copiar, colar e excluir os ítens.

Algo do gênero

[code]+ Item 1

  • Item 1
    • Item 1.1
    • Item 1.2
      • Item 1.2.1
      • Item 1.2.1
    • Item 1.3
    • Item 1.4
  • Item 2
  • Item 3
    • Item 3.1
  • Item 4
    [/code]

Além de XML, existe outra forma prática de se fazer?
Obs: a lista original contém muitos elementos.

Tks

Você quer saber da forma de persistência ou o quê?

Queria saber se existe uma forma prática de criar isto. Do ponto de vista geral. As regras de persistência já tenho formuladas. Não foge de recursividade. Mas minha dúvida é como montar a View para que isto não seja um porre para o usuário final, e também válido para o desenvolvimento.

Use um grafo de objetos e represente visualmente com JTree (Swing).