private IEnumerable <SearchResult> GetBatchData(int startIndex, int batchSize, SynchronizeContext context, string[] neededProperties)
        {
            List <string> buffer = new List <string>(batchSize);

            for (int k = startIndex; k < startIndex + batchSize; k++)
            {
                buffer.Add((string)this.source[k]);
            }

            var results = buffer.Count > 0 ? SynchronizeHelper.GetSearchResultsByDNList(context.ADHelper, buffer, ADSchemaType.Users, neededProperties, batchSize) : new SearchResult[0];

            return(results);
        }