Jtree(arvore) - diferenciando NoPai, SubNo ou No [RESOLVIDO]

Tenho uma jTree neste formato

-Sistema de portaria-----------------(vou chamar de NoPai)
    -Cadastro--------------------------(vou chamar de SubNo)
       -Cadastrar Usuario ------------(vou chamar de No)
       -Cadastrar Visitante
       -Cadastrar Colaborador
    -Controle
        controle de usuario

Como faço para diferenciar o NoPai, do SubNo ou até mesmo No?
Perciso fazer algo como: toda vez que o usuario selecionar o NoPai (raiz), o sistema exibirá a msg “A RAIZ DA ARVORE FOI SELECIONADA!” o mesmo para o SubNo e o No?
Qual o comando que posso faz a diferença entre esses componentes?

sds.

[code]tree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() {

public void valueChanged( TreeSelectionEvent e ) {

    DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();

    if ( node == tree.getModel().getRoot() ) {
        System.out.println( "você selecionou a raiz" );
    } else {
        TreeNode pai = node.getParent();
        int cc = node.getChildCount();
        System.out.printf( "você selecionou o nó %s quem tem como pai o nó %s e que tem %d filhos", node, pai, cc  );
    }

}

});[/code]

Olhe o primeiro resultado que veio no google quando digitei get node from jtree
http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html

Mto obrigado parceiro. Isso resolve o problema