/// <summary> /// The test second. /// </summary> private static void TestSecond() { Originator originator = new Originator { State = "On" }; // Store internal state Caretaker caretaker = new Caretaker { AnotherMemento = originator.CreateAnotherMemento() }; // Continue changing originator originator.State = "Off"; // Restore saved state originator.SetAnotherMemento(caretaker.AnotherMemento); // Wait for user Console.ReadKey(); }