Ajuda com TreeTable

Galera,

Gostaria muito da ajuda de vcs para analisar meu código. Estou tentando implementar uma JXTreeTable do SwingX, porém venho tentando há alguns dias e nada. Achei alguns exemplos, mas todos muito complicados, porém estou tentando fazer assim:

[code]
public class ListaSituacaoAtualEmCursoTreeTableModel extends AbstractTreeTableModel
{
private String[] colunas = {“Agente”, “Solicitante”, “Início Ligação”, “Início Atendimento”, “Duração”};
private List dados = new LinkedList();

public int getRowCount() 
{
    return dados.size();
}

public int getColumnCount() 
{
    return colunas.length;
}

public Object getValueAt(Object node, int columnIndex) 
{
    ListaSituacaoAtualVO l = (ListaSituacaoAtualVO) node;
    String value = l.getCodFila();
    FormataHora formata = new FormataHora();
    
    if (columnIndex == 0) 
        return l.getNroAgente();
    else if (columnIndex == 1)
        return l.getIdtSolicitante();
    else if (columnIndex == 2)
        return formata.formataData(l.getHorInicioLigacao());
    else if (columnIndex == 3) 
        return formata.formataData(l.getHorInicioAtend()); 
    else
        return l.getHorInicioAtend();
}
        
@Override
public String getColumnName(int col)
{
    return colunas[col];
}  

public List<ListaSituacaoAtualVO> getListaSituacaoAtual() 
{
    return dados;
}

public void setListaSituacaoAtual(List<ListaSituacaoAtualVO> dados) 
{
    this.dados = dados;
}

 public void mostraResultado(List<ListaSituacaoAtualVO> l)
 {
    dados = new LinkedList<ListaSituacaoAtualVO>();
    getListaSituacaoAtual().addAll(l);
    //fireTableDataChanged();
    
 }
 
 public void removeResultado()
 {
    dados = new LinkedList<ListaSituacaoAtualVO>();
    //fireTableDataChanged();
 }

@Override
public Class<?> getColumnClass(int col) 
{
    return super.getColumnClass(col);        
}

public void setValueAt(Object value, int row, int col) 
{
    ListaSituacaoAtualVO vo = dados.get(row);
    if(col == 0)
         vo.setNroAgente((Integer) value);     
    if(col == 1)
          vo.setIdtSolicitante((String) value);
    if(col == 2)
          vo.setHorInicioLigacao((String) value);
    if(col == 3)
          vo.setHorInicioAtend((String) value);
    if(col == 4)
        vo.setHorInicioAtend((String) value);
   //fireTableCellUpdated(row, col);
}
/*
public void setValueAt(Object object, Object object0, int i) 
{
}*/

}[/code]