async def cas(self, value: Any, **kwargs) -> bool:
success = await self.client.set(self.key, value, _cas_token=self._token, **kwargs)<EOL>if not success:<EOL><INDENT>raise OptimisticLockError("<STR_LIT>")<EOL><DEDENT>return True<EOL>
Checks and sets the specified value for the locked key. If the value has changed
since the lock was created, it will raise an :class:`aiocache.lock.OptimisticLockError`
exception.

:raises: :class:`aiocache.lock.OptimisticLockError`