Adds all of the items in the specified collection to the end of this list. The order of new elements is
        determined by the specified collection's iterator.

        :param items: (Collection), the specified collection which includes the elements to be added to list.
        :return: (bool), ``true`` if this call changed the list, ``false`` otherwise.

def add_all(self, items):
        """
        Adds all of the items in the specified collection to the end of this list. The order of new elements is
        determined by the specified collection's iterator.

        :param items: (Collection), the specified collection which includes the elements to be added to list.
        :return: (bool), ``true`` if this call changed the list, ``false`` otherwise.
        """
        check_not_none(items, "Value can't be None")
        data_items = []
        for item in items:
            check_not_none(item, "Value can't be None")
            data_items.append(self._to_data(item))
        return self._encode_invoke(list_add_all_codec, value_list=data_items)