docs: def gen(self, text, start=0):
          """Return the source code in text, filled with autogenerated code
          starting at start.
  
          """
  
          for cc in self.chunkComment(text, start):
              c = self.extractChunkContent(cc)
              cc = ''.join(cc)
              m = self.matchComment(c)
              idx = text.index(cc, start)
              e = idx + len(cc)
              if m:
                  assert text[idx:e] == cc
  
                  try:
                      end = text.index('\n\n', e - 1) + 1
                  except ValueError:
                      end = len(text)
                  text = text[:e] + text[end:]
                  new = self.genOutputs(self.code(text), m)
                  new = ''.join(new)
                  text = text[:e] + new + text[e:]
  
                  return self.gen(text, e + len(new))
          return text