JTree: como obter o texto de todos os itens?

Quero obter o texto de um JTree no formato:

root
  sudir1
    node1
    node2
  subdir2
    node3
    node4

É possível?

Eu escrevi algum código

public static String getLastSelectedText(JTree tree) {
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
    if (node == null) return null;
    return node.getUserObject().toString();
}

Mas ele obtém apenas o texto do componente selecionado.

Penso em expandir a árvore e lidar com todos os nós, mas talvez seja uma má ideia.

questionAnswers(5)

yourAnswerToTheQuestion