code: def parse_line(self, line):
          
          if not line or not line.startswith("##"):
              raise exceptions.InvalidHeaderException(
                  'Invalid VCF header line (must start with "##") {}'.format(line)
              )
          if "=" not in line:
              raise exceptions.InvalidHeaderException(
                  'Invalid VCF header line (must contain "=") {}'.format(line)
              )
          line = line[len("##") :].rstrip()  # trim '^##' and trailing whitespace
          # split key/value pair at "="
          key, value = split_mapping(line)
          sub_parser = self.sub_parsers.get(key, self.sub_parsers["__default__"])
          return sub_parser.parse_key_value(key, value)
docs: Parse VCF header ``line`` (trailing '\r\n' or '\n' is ignored)
  
          :param str line: ``str`` with line to parse
          :param dict sub_parsers: ``dict`` mapping header line types to
              appropriate parser objects
          :returns: appropriate :py:class:`HeaderLine` parsed from ``line``
          :raises: :py:class:`vcfpy.exceptions.InvalidHeaderException` if
              there was a problem parsing the file