public List<Categoria> seleccionaRaiz(List<Categoria> categorias) {
    System.out.println("entro en seleccionaRaiz");
    List<Categoria> listaCategoriasTemporal = new ArrayList<Categoria>();

    for (Categoria cate : categorias) {
      if (cate.getIdPadre() == null) {
        listaCategoriasTemporal.add(cate);
      }
    }
    return listaCategoriasTemporal;
  }
  public List<Categoria> seleccionaHijos(Integer IdPadre) {
    List<Categoria> listaCategoriasTemporal = new ArrayList<Categoria>();
    //      System.out.println( "entro en seleccionaHijos");

    for (Categoria cate : categorias) {
      if (cate.getIdPadre() != null && cate.getIdPadre().getIdcategoria() == IdPadre) {
        listaCategoriasTemporal.add(cate);
      }
    }
    //     System.out.println( "salgo de seleccionaHijos");
    // if (listaCategoriasTemporal.isEmpty()) contador=0; else contador++;
    return listaCategoriasTemporal;
  }
  public void recorreArbol(List<Categoria> categorias) {
    // List<Categoria> listaCategoriasTemporal = new ArrayList<Categoria>();
    //     System.out.println( "entro en recorreArbol");

    // contador++;

    // Map<String, TreeNode> rootNodes = new HashMap<String, TreeNode>();
    if (!categorias.isEmpty()) {
      for (Categoria cate : categorias) {
        String nombre = cate.getNombre();
        if (cate.getIdPadre() == null) {
          //                    rootNodes.put(cate.getNombre(), new
          // DefaultTreeNode(cate.getNombre(), cate, root));
          TreeNode documents = new DefaultTreeNode(cate, root);
          rootNodes.put(cate.getIdcategoria().toString(), documents);
          recorreArbol(seleccionaHijos(cate.getIdcategoria()));
        } else {
          TreeNode documents =
              new DefaultTreeNode(
                  cate, rootNodes.get(cate.getIdPadre().getIdcategoria().toString()));
          rootNodes.put(cate.getIdcategoria().toString(), documents);
          recorreArbol(seleccionaHijos(cate.getIdcategoria()));
        }
      }
    }
    // TreeNode documents = new DefaultTreeNode(new Categoria(1,"primera"), root);

    //            TreeNode work = new DefaultTreeNode(new Categoria(2,"pakita"), documents);
    //            TreeNode otra = new DefaultTreeNode(new Categoria(2,"otra"), documents);
    //            TreeNode otra2 = new DefaultTreeNode(new Categoria(2,"otra2"), otra);
    //            TreeNode otra3 = new DefaultTreeNode(new Categoria(2,"otra3"), otra2);
    //             TreeNode otra4 = new DefaultTreeNode(new Categoria(2,"otra3"), otra3);
    //              TreeNode otra5 = new DefaultTreeNode(new Categoria(2,"otra4"), otra4);
    //               TreeNode otra6 = new DefaultTreeNode(new Categoria(2,"otra5"), otra5);
  }