In Magritte-RDB there is an MAFlatteningVisitor which traverses a nested structure and returns a flatted version using chained accessors. This in turn is used for mapping a single flat table returned from a database into a real object structure. Keith