public PeakList <T> Process(PeakList <T> t) { List <PeakList <T> > envelopes = t.GetEnvelopes(this.ppmTolerance); ((List <T>)t).Clear(); foreach (var envelope in envelopes) { t.Add(envelope[0]); } t.Sort((m1, m2) => m1.Mz.CompareTo(m2.Mz)); return(t); }