private void Push() { lock (_listLock) { _isRunning = false; _databaseManager.AddDynamicCommandEvents(_cacheItems); if (DynamicCommandEventsAdded != null) { var addedEvents = _cacheItems.ToList(); new Thread(() => DynamicCommandEventsAdded?.Invoke(this, addedEvents)).Start(); } _cacheItems.Clear(); } }