public void Undo () { if (!RevertToSelf ()) { CloseToken (_token); throw new SecurityException ("Couldn't switch back to original token."); } CloseToken (_token); undo = true; GC.SuppressFinalize (this); }