private void lvProteins_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.bUpdatingProtein)
            {
                return;
            }

            for (int i = 0; i < lvProteins.Items.Count; i++)
            {
                (lvProteins.Items[i].Tag as IIdentifiedProteinGroup).Selected = lvProteins.Items[i].Selected;
            }

            DoUpdateResult();

            this.lvPeptides.BeginUpdate();
            try
            {
                this.bUpdatingPeptide = true;

                this.lvPeptides.Items.Clear();
                if (this.lvProteins.SelectedItems.Count == 0)
                {
                    return;
                }

                var mpg = this.lvProteins.SelectedItems[0].Tag as IIdentifiedProteinGroup;

                List <IIdentifiedSpectrum> mphs = mpg[0].GetSpectra();
                foreach (IIdentifiedSpectrum mph in mphs)
                {
                    if (option.HasPeptideRatio(mph))
                    {
                        ListViewItem item = this.lvPeptides.Items.Add("");
                        item.Tag = mph;

                        UpdatePeptideHit(mph, item);
                    }
                }
            }
            finally
            {
                this.bUpdatingPeptide = false;
                this.lvPeptides.EndUpdate();
            }

            DoUpdateProtein();

            lvPeptides.Items[0].Selected = true;
        }