protected async Task WaitAsync(string conditional) { if (!_locked) { throw new DistributedLockingException("WaitAsync() can be called only when object is locked (use LockAsync() first)"); } if (!Conditionals.Contains(conditional)) { throw new DistributedLockingException($"Conditional [{conditional}] not defined"); } await _actor.Ask(new InternalMessages.AskWait(conditional)); return; }