protected override WorkUnit MergeUpdate(UpdateWorkUnit second)
        {
            var clone = (UpdateWorkUnit)MemberwiseClone();

            clone.State = Tools.CloneArray(second.State);
            return(clone);
        }
 protected abstract WorkUnit MergeUpdate(UpdateWorkUnit second);
 protected override WorkUnit MergeUpdate(UpdateWorkUnit second)
 {
     return(second.WithOldState(DeletedState));
 }