public McNotePack Clone(McMeasure measure) { McNotePack pack = new McNotePack(measure ?? this.ParentMeasure) { _isRest = this._isRest, _isDotted = this._isDotted, _tieType = this._tieType, _triplet = this._triplet, _durationType = this._durationType, _staccato = this._staccato, _arpeggioMode = this._arpeggioMode }; foreach (int num in this.ValidPitchValueArray) { McPitch pitch = this._pitches[num]; if (((pitch != null) && (pitch.PitchType == McPitch.PitchTypes.Enabled)) && pack.MarkPitch(pitch.Value, McPitch.PitchTypes.Enabled)) { pack.GetPitch(pitch.Value).AlterantType = pitch.RawAlterantType; } } return(pack); }