code: def next(self):
      
      try:
        next_line = next(self._f)
      except StopIteration:
        self._FinalCheck()
        raise
  
      self._line_number += 1
      m_eol = re.search(r"[\x0a\x0d]*$", next_line)
      if m_eol.group() == "\x0d\x0a":
        self._crlf += 1
        if self._crlf <= 5:
          self._crlf_examples.append(self._line_number)
      elif m_eol.group() == "\x0a":
        self._lf += 1
        if self._lf <= 5:
          self._lf_examples.append(self._line_number)
      elif m_eol.group() == "":
        # Should only happen at the end of the file
        try:
          next(self._f)
          raise RuntimeError("Unexpected row without new line sequence")
        except StopIteration:
          # Will be raised again when EndOfLineChecker.next() is next called
          pass
      else:
        self._problems.InvalidLineEnd(
          codecs.getencoder('string_escape')(m_eol.group())[0],
          (self._name, self._line_number))
      next_line_contents = next_line[0:m_eol.start()]
      for seq, name in INVALID_LINE_SEPARATOR_UTF8.items():
        if next_line_contents.find(seq) != -1:
          self._problems.OtherProblem(
            "Line contains %s" % name,
            context=(self._name, self._line_number))
      return next_line_contents
docs: Return next line without end of line marker or raise StopIteration.