/// <exception cref="System.Exception"></exception>
        public virtual void ChangeTrackerTestWithMode(ChangeTracker.ChangeTrackerMode mode
                                                      )
        {
            CountDownLatch      changeTrackerFinishedSignal = new CountDownLatch(1);
            CountDownLatch      changeReceivedSignal        = new CountDownLatch(1);
            Uri                 testURL = GetReplicationURL();
            ChangeTrackerClient client  = new _ChangeTrackerClient_119(changeTrackerFinishedSignal
                                                                       , changeReceivedSignal);
            ChangeTracker changeTracker = new ChangeTracker(testURL, mode, 0, client);

            changeTracker.Start();
            try
            {
                bool success = changeReceivedSignal.Await(300, TimeUnit.Seconds);
                NUnit.Framework.Assert.IsTrue(success);
            }
            catch (Exception e)
            {
                Sharpen.Runtime.PrintStackTrace(e);
            }
            changeTracker.Stop();
            try
            {
                bool success = changeTrackerFinishedSignal.Await(300, TimeUnit.Seconds);
                NUnit.Framework.Assert.IsTrue(success);
            }
            catch (Exception e)
            {
                Sharpen.Runtime.PrintStackTrace(e);
            }
        }
 /// <exception cref="System.Exception"></exception>
 public virtual void ChangeTrackerTestWithMode(ChangeTracker.ChangeTrackerMode mode
     )
 {
     CountDownLatch changeTrackerFinishedSignal = new CountDownLatch(1);
     CountDownLatch changeReceivedSignal = new CountDownLatch(1);
     Uri testURL = GetReplicationURL();
     ChangeTrackerClient client = new _ChangeTrackerClient_119(changeTrackerFinishedSignal
         , changeReceivedSignal);
     ChangeTracker changeTracker = new ChangeTracker(testURL, mode, 0, client);
     changeTracker.Start();
     try
     {
         bool success = changeReceivedSignal.Await(300, TimeUnit.Seconds);
         NUnit.Framework.Assert.IsTrue(success);
     }
     catch (Exception e)
     {
         Sharpen.Runtime.PrintStackTrace(e);
     }
     changeTracker.Stop();
     try
     {
         bool success = changeTrackerFinishedSignal.Await(300, TimeUnit.Seconds);
         NUnit.Framework.Assert.IsTrue(success);
     }
     catch (Exception e)
     {
         Sharpen.Runtime.PrintStackTrace(e);
     }
 }