public override IMemento <ControlPool> Restore(ControlPool target) { IMemento <ControlPool> inverse = new DontDeleteControlMemento(controlToDelete, parentControl, baseWindow); target.AddWithParent(controlToDelete, parentControl, baseWindow); return(inverse); }