def parse_header(cls, value='*/*'):
        """Parse HTTP accept header and return instances sorted by weight."""
        yield from sorted((
            cls.from_string(token.strip())
            for token in value.split(',')
            if token.strip()
        ), reverse=True)