Wrapping RdfDataSources can be done with transformations on the String, Element (syntax) and Op (algebra) level. Consecutive wrappings may cause individual transforms to perform their own parse-transform-print round trips, although parsing and printing could be done once for a sequence of transforms.
This issue is about adding optimizations that group transforms and adding appropriate tests that validate that the optimizations work.