public override void RevokeSongEditCommand() { List <SongObject> overwriteList = new List <SongObject>(); SongEditAdd.ApplyAction(songObjects, overwriteList, extendedSustainsEnabled); Debug.Assert(overwriteList.Count <= 0, "SongEditDelete revoke overwrote an object. Should be adding an object that was deleted."); overwriteList.Clear(); SongEditAdd.ApplyAction(overwrittenSongObjects, overwriteList, extendedSustainsEnabled); Debug.AssertFormat(overwriteList.Count == overwrittenSongObjects.Count, "SongEditDelete revoke overwrite invalid. OverwriteList = {0}, overwritten = {1}", overwriteList.Count, overwrittenSongObjects.Count); overwrittenSongObjects.Clear(); }