see mailing list discussion 
some further thoughts:
For example, in Estatio there are several hierarchies
EstatioInstance ("global") /
EstatioInstance ("italy") /
EstatioInstance ("Roma shopping mall")
We'd like to render these objects in a single tree/table collection.
We should distinguish two cases:
- where all the rows are of the same type (EstatioInstance, turtles all the way down).
- where all the rows are of different types (Property/Floor/Unit)
For the former, the columns to use are exactly those of the (single) class.
For the latter, things are more complicated, as all the objects are of different class. It's not clear to me what (apart from an icon and a title) should be shown as columns. Perhaps just the intersection of those properties that are common across all types (eg name?) . Or perhaps there's metadata (in @PropertyLayout(...)) to specify that a particular property should always be shown in such tree/table collections, even if it is null for other rows for instances of some other class.