protected override void Dispose(bool disposing) { if (disposing) { if (_mementos != null) { foreach (IDisposable memento in _mementos) if (memento != null) memento.Dispose(); _mementos = null; } } base.Dispose(disposing); }