private bool ProcessRecordMediaAdd(bool redo) { IGEDCOMStructWithLists swl = fObj as IGEDCOMStructWithLists; GDMMultimediaRecord mediaRec = fNewVal as GDMMultimediaRecord; bool result = (swl != null && mediaRec != null); if (result) { if (redo) { GDMMultimediaLink mmLink = swl.AddMultimedia(mediaRec); fOldVal = mmLink; } else { GDMMultimediaLink mmLink = fOldVal as GDMMultimediaLink; swl.MultimediaLinks.Delete(mmLink); } } return(result); }