/// <summary>
        /// lock descriptor as an asynchronous operation.
        /// </summary>
        /// <param name="mods">The mods.</param>
        /// <param name="isLocked">if set to <c>true</c> [is locked].</param>
        protected virtual async Task LockDescriptorAsync(IEnumerable <IMod> mods, bool isLocked)
        {
            if (mods?.Count() > 0)
            {
                await modService.LockDescriptorsAsync(mods, isLocked);

                var title   = isLocked ? localizationManager.GetResource(LocalizationResources.Notifications.DescriptorsLocked.Title) : localizationManager.GetResource(LocalizationResources.Notifications.DescriptorsUnlocked.Title);
                var message = isLocked ? localizationManager.GetResource(LocalizationResources.Notifications.DescriptorsLocked.Message) : localizationManager.GetResource(LocalizationResources.Notifications.DescriptorsUnlocked.Message);
                notificationAction.ShowNotification(title, message, NotificationType.Info);
            }
        }