There is one thing to be aware of: The domain object in the "outer table" must have a determinate equals/hashCode function, if not you might experience that an expanded row suddenly closes. This is a requirement for safe operations on the TableView anyways though, so not a big deal.