@classmethod
def _parse_string(cls, string):
    """
        Parses the string and returns an iterable of tuples (key, value)

        :raises: ValueError

        """
    while string:
        key, string = cls._get_key_from_string(string)
        value, string = cls._get_value_from_string(string)
        yield key, value
