docs: @VisibleForTesting
  	protected BulkProcessor buildBulkProcessor(BulkProcessor.Listener listener) {
  		checkNotNull(listener);
  
  		BulkProcessor.Builder bulkProcessorBuilder = callBridge.createBulkProcessorBuilder(client, listener);
  
  		// This makes flush() blocking
  		bulkProcessorBuilder.setConcurrentRequests(0);
  
  		if (bulkProcessorFlushMaxActions != null) {
  			bulkProcessorBuilder.setBulkActions(bulkProcessorFlushMaxActions);
  		}
  
  		if (bulkProcessorFlushMaxSizeMb != null) {
  			bulkProcessorBuilder.setBulkSize(new ByteSizeValue(bulkProcessorFlushMaxSizeMb, ByteSizeUnit.MB));
  		}
  
  		if (bulkProcessorFlushIntervalMillis != null) {
  			bulkProcessorBuilder.setFlushInterval(TimeValue.timeValueMillis(bulkProcessorFlushIntervalMillis));
  		}
  
  		// if backoff retrying is disabled, bulkProcessorFlushBackoffPolicy will be null
  		callBridge.configureBulkProcessorBackoff(bulkProcessorBuilder, bulkProcessorFlushBackoffPolicy);
  
  		return bulkProcessorBuilder.build();
  	}