code: def next(self, data=None):
          '''
          consume `data` (if given, or calls `stream.read()` if `stream` was given
          in the constructor) and yield a list of `NMEASentence` objects parsed
          from the stream (may be empty)
          '''
          if data is None:
              if self.stream:
                  data = self.stream.readline()
              else:
                  return
  
          lines = (self.buffer + data).split('\n')
          self.buffer = lines.pop()
  
          for line in lines:
              try:
                  msg = nmea.NMEASentence.parse(line)
                  yield msg
              except nmea.ParseError as e:
                  if self.errors == 'raise':
                      raise e
                  if self.errors == 'yield':
                      yield e
                  if self.errors == 'ignore':
                      pasf next(self, data=None):
          '''
          consume `data` (if given, or calls `stream.read()` if `stream` was given
          in the constructor) and yield a list of `NMEASentence` objects parsed
          from the stream (may be empty)
          '''
          if data is None:
              if self.stream:
                  data = self.stream.readline()
              else:
                  return
  
          lines = (self.buffer + data).split('\n')
          self.buffer = lines.pop()
  
          for line in lines:
              try:
                  msg = nmea.NMEASentence.parse(line)
                  yield msg
              except nmea.ParseError as e:
                  if self.errors == 'raise':
                      raise e
                  if self.errors == 'yield':
                      yield e
                  if self.errors == 'ignore':
                      pass
docs: consume `data` (if given, or calls `stream.read()` if `stream` was given
          in the constructor) and yield a list of `NMEASentence` objects parsed
          from the stream (may be empty)