public static ExpireObjectSnapshot <T> Create(IRevisionObjectIdentity <T> identity, Period validity, params IObjectDiff <T>[] diffs) { var snapshot = new ExpireObjectSnapshot <T>(identity, validity); ApplyChanges(snapshot, diffs); return(snapshot); }
public ExpireObjectSnapshot <T> ApplyChanges(IObjectIdentity <IObjectRevision <T> > revision, Period validity, params IObjectDiff <T>[] diffs) { var copy = new ExpireObjectSnapshot <T>(new RevisionObjectIdentity <T>(_identity.Key, revision.Key), validity, this); ApplyChanges(copy, diffs); return(copy); }