def add_at(self, index, item):
        """
        Adds the specified item at the specific position in this list. Element in this position and following elements
        are shifted to the right, if any.

        :param index: (int), the specified index to insert the item.
        :param item: (object), the specified item to be inserted.
        """
        check_not_none(item, "Value can't be None")
        element_data = self._to_data(item)
        return self._encode_invoke(list_add_with_index_codec, index=index, value=element_data)