Removes all the entries with the given key and returns the value list associated with this key.

        **Warning: This method uses __hash__ and __eq__ methods of binary form of the key, not the actual implementations
        of __hash__ and __eq__ defined in key's class.**

        **Warning-2:
        The returned list is NOT backed by the map, so changes to the map are NOT reflected in the list, and
        vice-versa.**

        :param key: (object), the key of the entries to remove.
        :return: (Sequence), the collection of removed values associated with the given key.

def remove_all(self, key):
        """
        Removes all the entries with the given key and returns the value list associated with this key.

        **Warning: This method uses __hash__ and __eq__ methods of binary form of the key, not the actual implementations
        of __hash__ and __eq__ defined in key's class.**

        **Warning-2:
        The returned list is NOT backed by the map, so changes to the map are NOT reflected in the list, and
        vice-versa.**

        :param key: (object), the key of the entries to remove.
        :return: (Sequence), the collection of removed values associated with the given key.
        """
        check_not_none(key, "key can't be None")
        key_data = self._to_data(key)
        return self._encode_invoke_on_key(multi_map_remove_codec, key_data, key=key_data,
                                          thread_id=thread_id())