public virtual void AddSpectrum(ISpectrum spectrum, CopyOptions copyOpts) { ISpectrum lastSpectrum = Spectra.Count > 0 ? Spectra[0] : null; if (lastSpectrum != null) { Spectra.Add(spectrum); for (int i = 1; i < lastSpectrum.Parameters.GroupCount; i++) { //CopyOptions options = CopyOptions.Status | CopyOptions.Value; if (spectrum.Parameters[i].Definition.SetDefaultComponents != null && (copyOpts & CopyOptions.Value) == 0) { spectrum.Parameters[i].Definition.SetDefaultComponents(spectrum.Parameters[i], spectrum, new EventArgs()); //options &= ~CopyOptions.Value; } spectrum.copy(lastSpectrum, lastSpectrum.Parameters[i].Definition.name, copyOpts); } } }