def METHOD_NAME(stream):
    marker, = struct.unpack("!B", stream.read(1))
    while marker == cls.LIST_ITEM:
        yield decode_blob(stream)
        marker, = struct.unpack("!B", stream.read(1))
    if marker != cls.LIST_END:
        raise DeserializationException(
            "Expected end of list at {pos}".format(pos=stream.tell())
        )