async def METHOD_NAME(self, lines, timeout):
    read_lines = []
    lines_to_find = lines.copy()
    while len(lines_to_find) > 0:
        try:
            line = await asyncio.wait_for(self._stream.readline(), timeout=timeout)
        except (asyncio.TimeoutError) as err:
            raise Exception("Could not find all lines. Remaining number of lines to find: {} Number of lines found: {}".format(len(lines_to_find), len(read_lines))) from err
        line = line.decode("utf-8")
        read_lines.append(line)
        _list_remove_partially_matching_element(lines_to_find, line)
    return read_lines