public async Task <bool> LoadThread(string token)
        {
            IWindowManager wm = IoC.Get <IWindowManager>();

            wm.ShowBusyView("Loading Feedbacks...");
            try
            {
                this.FeedbackThread = await HockeyClientWPF.Instance.OpenFeedbackThreadAsync(token);

                this.FeedbackMessages.Clear();

                if (this.FeedbackThread != null)
                {
                    this.FeedbackThread.Messages.ForEach(p => FeedbackMessages.Add(new FeedbackMessageViewModel(p)));
                    this.FeedbackMessages.Add(new NewFeedbackMessage(this));
                }
                else
                {
                    FeedbackToken.DeleteToken(token);
                    raiseDeletedOnServer();
                }
            }
            catch (Exception ex)
            {
                wm.ShowBusyView("An error ocurred:\n" + ex.Message);
            }
            finally
            {
                wm.HideBusyView();
            }
            return(this.FeedbackThread != null);
        }
        public void CloseThread()
        {
            IWindowManager wm = IoC.Get <IWindowManager>();

            if (wm.ShowMetroMessageBox("Thread will be closed and cannot be opened later. Continue anyway?", "Close thread", System.Windows.MessageBoxButton.YesNo) == System.Windows.MessageBoxResult.Yes)
            {
                FeedbackToken.DeleteToken(this.SelectedFeedbackThread.FeedbackThread.Token);
                int pos = this.FeedbackThreadList.IndexOf(this.SelectedFeedbackThread);
                this.FeedbackThreadList.Remove(this.SelectedFeedbackThread);
                if (this.FeedbackThreadList.Count >= pos + 1)
                {
                    this.SelectedFeedbackThread = this.FeedbackThreadList[pos];
                }
                else if (this.FeedbackThreadList.Count > 0)
                {
                    this.SelectedFeedbackThread = this.FeedbackThreadList[this.FeedbackThreadList.Count - 1];
                }
                else
                {
                    this.NewThread();
                }
            }
        }