/// <summary>
        /// Add the specified event to the history
        /// </summary>
        /// <param name="eventArgs">The <see cref="HotKeyEventArgs"/></param>
        private void AddEventToHistory(HotKeyEventArgs eventArgs)
        {
            if (HistoryLimit == 0)
            {
                return;
            }

            Requires.NotNull(eventArgs, nameof(eventArgs));

            if (HotKeysEventsHistory.Count >= HistoryLimit && HotKeysEventsHistory.Count > 0)
            {
                HotKeysEventsHistory.RemoveAt(HotKeysEventsHistory.Count - 1);
            }

            HotKeysEventsHistory.Insert(0, eventArgs);
        }
        /// <inheritdoc/>
        public void Resume()
        {
            if (_inPause)
            {
                _inPause = false;
                HotKeysEventsHistory?.Clear();
                MouseGestureEventsHistory?.Clear();

                if (_keyboardHook != null && _mouseHook != null)
                {
                    _keyboardHook.Resume();
                    _mouseHook.Resume();
                    _keyboardHook.KeyboardAction += OnKeyboardAction;
                    _mouseHook.MouseAction       += OnMouseAction;
                }
            }
        }