code: def _CreateDictReader(self, line_reader):
      
      delimiter = self.DELIMITER
      quotechar = self.QUOTE_CHAR
      magic_test_string = self._MAGIC_TEST_STRING
      # Python 3 csv module requires arguments to constructor to be of type str.
      if py2to3.PY_3:
        delimiter = delimiter.decode(self._encoding)
        quotechar = quotechar.decode(self._encoding)
        magic_test_string = magic_test_string.decode(self._encoding)
  
      return csv.DictReader(
          line_reader, delimiter=delimiter, fieldnames=self.COLUMNS,
          quotechar=quotechar, restkey=magic_test_string,
          restval=magic_test_string)
docs: Returns a reader that processes each row and yields dictionaries.
  
      csv.DictReader does this job well for single-character delimiters; parsers
      that need multi-character delimiters need to override this method.
  
      Args:
        line_reader (iter): yields lines from a file-like object.
  
      Returns:
        iter: a reader of dictionaries, as returned by csv.DictReader().