private bool PresetFilter(Preset preset)
        {
            if (SelectedTreeNode != null)
            {
                return(SelectedTreeNode.IsEqualOrBelow(preset.PresetBank));
            }

            return(true);
        }
        private async Task OnDeleteBankCommandExecute()
        {
            bool isEmpty = true;

            foreach (var preset in Plugin.Presets)
            {
                if (SelectedTreeNode.IsEqualOrBelow(preset.PresetBank))
                {
                    isEmpty = false;
                    break;
                }
            }

            if (!isEmpty)
            {
                await _messageService.ShowErrorAsync(
                    "Cannot delete a preset bank which contains presets. Please move the affected presets to another bank prior deleting.",
                    "Cannot delete preset bank");
            }
            else
            {
                SelectedTreeNode.ParentBank.PresetBanks.Remove(SelectedTreeNode);
            }
        }