public BatchAsyncResult(T result, object state)
 {
     this.AsyncState = state;
     this.result     = result;
     completedEvent  = new ManualResetEvent(false);
     isCompleted     = false;
     QueryBatchCounter.Increment();
 }