http://stackoverflow.com/questions/1247133/recursive-looping-to-n-levels-in-python
Anonymous
Code that is graceful and clear is less likely to break.