def METHOD_NAME(self):
    delim = self.delimiter or self.options.delimiter
    rowdelim = self.row_delimiter or self.options.row_delimiter
    with self.source.open(encoding=self.options.encoding) as fp:
            for line in splitter(adaptive_bufferer(fp), rowdelim):
                if not line:
                    continue
                row = list(line.split(delim))
                if len(row) < self.nVisibleCols:
                    # extend rows that are missing entries
                    row.extend([None]*(self.nVisibleCols-len(row)))
                yield row