def try_remove(self, key, timeout=0):
        """
        Tries to remove the given key from this map and returns immediately if timeout is not provided. If
        timeout is provided, operation waits until it is completed or timeout is reached.

        :param key: (object), key of the entry to be deleted.
        :param timeout: (int), operation timeout in seconds (optional).
        :return: (bool), ``true`` if the remove is successful, ``false`` otherwise.
        """
        check_not_none(key, "key can't be None")

        key_data = self._to_data(key)
        return self._try_remove_internal(key_data, timeout)
Tries to remove the given key from this map and returns immediately if timeout is not provided. If
        timeout is provided, operation waits until it is completed or timeout is reached.

        :param key: (object), key of the entry to be deleted.
        :param timeout: (int), operation timeout in seconds (optional).
        :return: (bool), ``true`` if the remove is successful, ``false`` otherwise.