def _MakePackagePages(self, package, showprivate=False, nested=False, showinh=False):
        def checkNoNested(mod):
            try:
                all = mod.__all__
            except AttributeError:
                return False
            mems = inspect.getmembers(mod, inspect.ismodule)
            mems = [m for m in mems if m[0] in mod.__all__]
            if len(mems) > 0:
                return False
            return True
        mods = inspect.getmembers(package, inspect.ismodule)
        nmods, pvt, npkgs = [], [], []
        for mod in mods:
            if checkNoNested(mod[1]):
                if mod[0][0] == '_': pvt.append(mod)
                else: nmods.append(mod)
            else: npkgs.append(mod)
        if showprivate: nmods += pvt
        files = []
        ignore = []
        for pkg in npkgs:
            pt = '%s/%s/%s' % (self.path, package.__name__.replace('.', '/'), pkg[1].__name__.split('.')[-1])
            if os.path.exists(pt): shutil.rmtree(pt)
            os.makedirs(pt)
            ignore += inspect.getmembers(pkg[1])
            f = self._MakePackagePages(pkg[1], showprivate=showprivate, nested=True, showinh=showinh)
            files.append(f.split(package.__name__.replace('.', '/')+'/')[1])
        if nested:
            try:
                name = package.__displayname__
            except AttributeError:
                name = package.__name__
            index = r'''
%s
%s
.. toctree::
   :maxdepth: 5
    ''' % (name, '*' * len(name))
            index += '\n   '.join(files)
            index += '\n   ' + self._ProduceContent(nmods, showprivate=showprivate, showinh=showinh)
            findex = 'content/%s/index.rst' % (package.__name__.replace('.', '/'))
            with open(findex, 'w') as f:
                if package.__doc__: f.write(package.__doc__)
                f.write(index)
            return '\n   ' + findex
        names = '\n   %s/%s/' % ( self.path, package.__name__.replace('.', '/'))
        nmods = [m for m in nmods if m not in ignore]
        return names.join(self._ProduceContent(nmods, showprivate=showprivate, showinh=showinh).split('\n   ')+files)