public void RemoveBlock(T obj)
        {
            var wasLock = IsBlocked;

            if (lockObjects.Contains(obj))
            {
                lockObjects.Remove(obj);
            }

            LockObjectRemoved?.Invoke(obj);

            if (wasLock && !IsBlocked)
            {
                StopLock?.Invoke();
            }
        }
 private void OnStopLock()
 {
     logger?.Write($"{logName}. Unlocked", logLevel);
     StopLock?.Invoke();
 }