private void SetViewState(SharedFile sharedFile)
        {
            if (InvokeRequired)
            {
                Invoke((MethodInvoker)delegate { SetViewState(sharedFile); });
            }
            else
            {
                ListViewItem item = _helper.GetListViewItem(sharedFile.File.Hash);

                if (item == null) return;

                item.SubItems[3] = new ListViewItem.ListViewSubItem(item, sharedFile.State.ToString());
            }
        }
        private SharedFile CreateSharedFile(FileDescriptor fileDescriptor)
        {
            SharedFile shared = new SharedFile(fileDescriptor);

            shared.PropertyChanged += new PropertyChangedEventHandler(shared_PropertyChanged);

            return shared;
        }
        private void RemoveFile(SharedFile sharedFile)
        {
            try
            {
                sharedFile.SetFileAsRemoving();

                _client.RemoveFiles(new FileDescriptor[] { sharedFile.File });

                Invoke((MethodInvoker)delegate { _helper.RemoveFileFromListView(sharedFile.File.Hash); });

            }
            catch(NotImplementedException e)
            {
                MessageBox.Show(e.Message);
            }
        }