public override void RetrieveResults(out ITableResults resTable, out GroupByResults groupByResults)
 {
     groupByResults = null;
     if (this.sortJobs != null)
     {
         resTable = new TableResultsABTree((ABTree <int>) this.sortJobs[0].tree, this.sortJobs[0].resTable);
     }
     else
     {
         resTable = new MultiTableResultsRowProxyArray(this.mergeJob.GetTablesOfSortedJobs(), this.mergedResults);
     }
 }
 public override void RetrieveResults(out ITableResults resTable, out GroupByResults groupByResults)
 {
     groupByResults = null;
     if (this.executionHelper.ThreadCount == 1)
     {
         resTable = new TableResultsABTree((ABTree <int>) this.rangeBuckets[0].tree, this.rangeBuckets[0].resTable);
     }
     else
     {
         TableResultsABTree[] tmpResults = new TableResultsABTree[this.rangeBuckets.Length];
         for (int i = 0; i < this.rangeBuckets.Length; i++)
         {
             tmpResults[i] = (new TableResultsABTree((ABTree <int>) this.rangeBuckets[i].tree, this.rangeBuckets[i].resTable));
         }
         resTable = new MultiTableResultsABTree(tmpResults, this.firstKeyComparers[0].isAscending);
     }
 }