private bool UpdateSnapshot <T>(T dataEntity, int index) where T : class { var outerScope = Scopes.ElementAtOrDefault(index); if (outerScope != null) { if (outerScope.Item == dataEntity) { outerScope.ItemSnapshot = CreateSnapshot(dataEntity); outerScope.OriginalItem = null; return(true); } } return(false); }