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);
                }
            }
        }