@sp33dy - got it working. Did a few things that are more standard javafx. I added observable properties to your domain objects and a property extractor to your observableList so that the SortedFilteredList will respond to updates when that property (visible) changes on the underlying domain object in the list. This way the ui layer responds to changes in the underlying model. With plain domain objects that will not happen. I think you should still look at TreeTableView but wanted to show how to get it working the way you had written it.