private DataServiceTransaction(DataService dataService) {
			_transactionState = TransactionState.Active;
			_dataService = dataService;
			_sendMessagesToPeers = true;
			_rollbackOnly = false;
			_outgoingMessages = new ArrayList();
			_processedMessageBatches = new ArrayList(1);
#if (NET_1_1)
			_updateCollectionMessages = new Hashtable(new ListHashCodeProvider(), new ListComparer());
			_clientUpdateCollectionMessages =  new Hashtable(new ListHashCodeProvider(), new ListComparer());
#else
			_updateCollectionMessages = new Hashtable(new ListHashCodeProvider());
			_clientUpdateCollectionMessages = new Hashtable(new ListHashCodeProvider());
#endif
		}
		internal static DataServiceTransaction Begin(DataService dataService) {
			DataServiceTransaction dataServiceTransaction = new DataServiceTransaction(dataService);
			SetCurrentDataServiceTransaction(dataServiceTransaction);
			return dataServiceTransaction;
		}