code: def _parse_list(self, text, i):
          
  
          res = []
          end_match = self.end_list_re.match(text, i)
          old_current_type = self.current_type
          while not end_match:
              list_item, i = self._parse(text, i)
              res.append(list_item)
  
              end_match = self.end_list_re.match(text, i)
  
              if not end_match:
                  m = self.list_delim_re.match(text, i)
                  if not m:
                      self._fail("Missing delimiter in list before content", text, i)
                  parsed = m.group(0)
                  i += len(parsed)
              self.current_type = old_current_type
  
          parsed = end_match.group(0)
          i += len(parsed)
          return res, i
docs: Parse a list from source text starting at i.