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

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

            lockObjects.Add(obj);

            LockObjectAdded?.Invoke(obj);

            if (!wasLock)
            {
                StartLock?.Invoke();
            }
        }
 private void OnLockObjectAdded(T obj)
 {
     logger?.Write($"{logName}. Added block {obj}. Remain blocks: {GetBlockedObjectNames()}", logLevel);
     LockObjectAdded?.Invoke(obj);
 }