def METHOD_NAME(self, line: bytes) -> Dict[str, Any]:
    if line.startswith(b"#"):
        self.parse_header_line(line)
        return next(self)
    res = {}
    fields = line.split(self.sep)
    for field, name, typ in zip(fields, self.fields, self.types):
        res[name.replace(b".", b"_").decode()] = self.fix_value(field, typ)
    return res