I mostly shy aware from trying to help people with
JSF tree controls, since I've had enough trouble with them myself.
From the sound of it, however, you may need to keep a few basic concepts in mind. One of which is that the UI data model isn't necessarily the same thing as the problem domain data model.
The UI data model may reference a problem domain data model, but it might provide an altered aspect of the problem domain data model. For example, a list of names fetched from a database could be fronted by a UI data model list object whose elements are references to the database data model enumerated in reverse order. And, of course, for best results, that UI data model list object should in turn be fronted by a JSF DataModel object, if you want to exploit the full functionality of the JSF dataTable control.
In other words, if the data you have doesn't appear in the order or way you like, construct an appropriate UI data model from your base data and have the UI reference that.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.