protected WorkUnit(AbstractPostDatabaseOperationEvent @event, VersionedClass versionedClass)
 {
     Session        = @event.Session;
     Entity         = @event.Entity;
     Id             = @event.Id;
     Persister      = @event.Persister;
     VersionedClass = versionedClass;
     Key            = new Tuple <string, object>(VersionedClass.VersionedEntityName, Id);
 }
 public DeleteWorkUnit(PostDeleteEvent @event, VersionedClass versionedClass) : base(@event, versionedClass)
 {
     DeletedState = Tools.CloneArray(@event.DeletedState);
 }
 public UpdateWorkUnit(PostUpdateEvent @event, VersionedClass versionedClass) : base(@event, versionedClass)
 {
     OldState = Tools.CloneArray(@event.OldState);
     State    = Tools.CloneArray(@event.State);
 }
 public InsertWorkUnit(PostInsertEvent @event, VersionedClass versionedClass) : base(@event, versionedClass)
 {
     State = Tools.CloneArray(@event.State);
 }