code: def _handle_parens(self, children, start, formats):
          
          opens, closes = self._count_needed_parens(formats)
          old_end = self.source.offset
          new_end = None
          for i in range(closes):
              new_end = self.source.consume(')')[1]
          if new_end is not None:
              if self.children:
                  children.append(self.source[old_end:new_end])
          new_start = start
          for i in range(opens):
              new_start = self.source.rfind_token('(', 0, new_start)
          if new_start != start:
              if self.children:
                  children.appendleft(self.source[new_start:start])
              start = new_start
          return start
docs: Changes `children` and returns new start