public bool ShouldTakeSnapshot(Snapshot previousSnapshot)
 {
     return  previousSnapshot == null || 
             previousSnapshot.LastEventSequence < this.LastEventSequence;
 }
 public void LoadSnapshot(Snapshot snapshot)
 {
     var s = (InventoryItemSnapshot) snapshot;
     this.ItemId = s.ItemId;
     this.Description = s.Description;
 }