public BulkDescriptor Create <T>(Func <BulkCreateDescriptor <T>, IBulkCreateOperation <T> > bulkCreateSelector)
            where T : class
        {
            _bulkDescriptor.Create(bulkCreateSelector);
            _count++;
            if (HaveReachedBatchLimit(_count))
            {
                _tasks.Add(_client.BulkAsync(_bulkDescriptor));

                _bulkDescriptor = CreateBulkDescriptor(_indexName);

                _count = 0;
            }

            return(_bulkDescriptor);
        }