protected override void DoExecute(ExecutionEvent executionEvent)
        {
            try
            {
                ICollection <Guid> idsToRemove     = TreeNavigationItem.CollectIds(executionEvent.GetSelectedTreeNavigationItems());
                string             questionMessage = GetQuestionMessage(idsToRemove.Count, executionEvent.GetFirstSelectedTreeNavigationItem().Name);
                if (MessageBoxResult.No.Equals(MessageDialogUtils.Question(questionMessage, executionEvent.GetFirstSelectedTreeNavigationItem().Name)))
                {
                    return;
                }

                foreach (Guid idToRemove in idsToRemove)
                {
                    Delete(executionEvent, idToRemove);
                    OnSuccessful(executionEvent, idToRemove);
                }
            }
            catch (ValidationException ex)
            {
                WindowsManager.GetInstance().ShowDialog <MessageWindow>(new MessageWindowModelView(ex.GetValidationResult()));
            }
        }