'Similar to L{iterModules}, this yields self, and then every module in my
package or entry, and every submodule in each package or entry.
In other words, this is deep, and L{iterModules} is shallow.'

def walkModules(self, importPackages=False):

    (yield self)
    for package in self.iterModules():
        for module in package.walkModules(importPackages=importPackages):
            (yield module)
