def itersplit_to_fields(self, _str):
        if self.preparse:
            _str = self.preparse(_str)

        _fields = itersplit(_str, self.fsep)

        try:
            values = (
                t[1] for t in izip_longest(self._tuple._fields, _fields))
            return self._tuple(*values)
        except:
            log.error(self._tuple)
            log.error(_fields)
            raise