public GeneralAccumulatedGlycoPeptideMassProxy(
            SpecialGlycoPeptide <IAccumulatedGlycanMassProxy> glycoPeptide)
        {
            calculator = UtilMass.Instance;
            option     = UtilMassOption.Instance;
            mass       = new HashSet <double>();


            this.glycoPeptide = glycoPeptide;
            foreach (double glycanMass in (glycoPeptide.GetGlycan()
                                           as IAccumulatedGlycanMassProxy).GetMass())
            {
                foreach (double peptideMass in CalcPTMPeptideMass.GetNGlycanPeptideMass(
                             GetPeptide().GetSequence(), GetPosition()))
                {
                    mass.Add(glycanMass + peptideMass);
                }
                mass.Add(glycanMass + calculator.CalcPeptideMass(glycoPeptide.GetPeptide(), option));
            }

            mass.UnionWith(CalcPTMPeptideMass.GetNonGlycanPeptideMass(GetPeptide().GetSequence(), GetPosition()));
            massList = mass.ToList();
            massList.Sort();
        }
 public IPeptide GetPeptide()
 {
     return(glycoPeptide.GetPeptide());
 }