So, for those getting started looking at the OpenXML SDK, the first thing you'll probably notice if you start recursively mining a Presentation file is that OpenXML is a graph.  Not a tree.  And yes, it can have cycles!

The Presentation format is the only one that currently takes advantage of this in the format, but it's certainly possible for Documents and Workbooks to take advantage as well. 

Seems simple enough - right?  The idea is that all your data is interlinked and essentially in 3rd normal form - one place for everything without needless redundancies. 

So, if you're going to go recursive on this puppy, remember to terminate your stack yourself!

Happy coding!