public Insert(DataCollection <T> collection, T item) : base(collection, item)
 {
 }
 protected Participant(DataCollection <T> collection, T item)
 {
     Collection = collection;
     Item       = item;
 }
 //internal void AddUpdate<T>(DataCollection<T> collection, T item) where T : IDataDocument, new()
 //{
 //    _participants.Add(new Update<T>(collection, item));
 //}
 internal void AddDelete <T>(DataCollection <T> collection, T item) where T : IDataDocument
 {
     _participants.Add(new Delete <T>(collection, item));
 }
 //internal void AddUpdate<T>(DataCollection<T> collection, T item) where T : IDataDocument, new()
 //{
 //    _transacton?.AddUpdate(collection, item);
 //}
 internal void AddDelete <T>(DataCollection <T> collection, T item) where T : IDataDocument
 {
     Transaction?.AddDelete(collection, item);
 }
 internal void AddInsert <T>(DataCollection <T> collection, T item) where T : IDataDocument
 {
     Transaction?.AddInsert(collection, item);
 }
 public Delete(DataCollection <T> collection, T item) : base(collection, item)
 {
 }