code: def _pop_comment_block(self, statements, header_re):
          
          res = []
          comments = []
          match = None
          st_iter = iter(statements)
          # Look for the header
          for st in st_iter:
              if isinstance(st, ast.Comment):
                  match = header_re.match(st.text)
                  if match:
                      # Drop this comment an move on to consuming the block
                      break
                  else:
                      res.append(st)
              else:
                  res.append(st)
          # Consume consecutive comments
          for st in st_iter:
              if isinstance(st, ast.Comment):
                  comments.append(st)
              else:
                  # The block is over, keep the rest of the statements
                  res.append(st)
                  break
          # Keep the rest of the statements
          res.extend(list(st_iter))
          # Inside the comment block, drop the pound sign and any common indent
          return match, dedent("".join(c.text[1:] + "\n" for c in comments)), res
docs: Look for a series of comments that start with one that matches the
          regex. If the first comment is found, all subsequent comments are
          popped from statements, concatenated and dedented and returned.