docs: def next(self):
          """
          Get the next line of data.
  
          Returns
          -------
          tag : str
          data :
          """
          line = self.buffer.readline()
  
          while line == '\n':       # Skip forward to the next line with content.
              line = self.buffer.readline()
  
          if line == '':            # End of file.
              self.at_eof = True
              return None, None
  
          match = re.match('([A-Z]{2}|[C][1])\W(.*)', line)
          if match is not None:
              self.current_tag, data = match.groups()
          else:
              self.current_tag = self.last_tag
              data = line.strip()
          return self.current_tag, _cast(data)