private void BtnThreadParticipantRemove_Click(object sender, RoutedEventArgs e)
        {
            if (!(null == lstThreadParticipants.SelectedItem))
            {
                var result = MessageBox.Show("Are you sure you want to remove this participant from the thread?", "Confirmation", MessageBoxButton.YesNo);

                try
                {
                    if (result == MessageBoxResult.Yes)
                    {
                        var selectedEmailAliasPair = (KeyValuePair <string, string>)lstThreadParticipants.SelectedItem;

                        var selectedItem = _userThread.ParticipantsWithAlias.Where(pwa => pwa.Key is ISender)
                                           .Select(pwa => pwa.Key as ISender)
                                           .Where(p => p.Email == selectedEmailAliasPair.Key)
                                           .ToList();

                        if (selectedItem.Count != 1)
                        {
                            PopulateMainThreadArea(_userThread);
                            throw new ApplicationException("More than one user was found matching this email. Reloading the page.");
                        }

                        if (!_threadManager.RemoveThreadParticipants(_userThread, selectedItem))
                        {
                            PopulateMainThreadArea(_userThread);
                            throw new ApplicationException("There was an error removing this user from the thread. Reloading the page.");
                        }

                        _userThread = _threadManager.GetUserThread(_userThread, _employee);
                        PopulateMainThreadArea(_userThread);
                    }
                }
                catch (Exception ex)
                {
                    ExceptionLogManager.getInstance().LogException(ex);
                    MessageBox.Show(ex.Message);
                }
            }
        }