docs: public RetryTemplate build() {
  		RetryTemplate retryTemplate = new RetryTemplate();
  
  		// Exception classifier
  
  		BinaryExceptionClassifier exceptionClassifier = this.classifierBuilder != null
  				? this.classifierBuilder.build()
  				: BinaryExceptionClassifier.defaultClassifier();
  
  		// Retry policy
  
  		if (this.baseRetryPolicy == null) {
  			this.baseRetryPolicy = new MaxAttemptsRetryPolicy();
  		}
  
  		CompositeRetryPolicy finalPolicy = new CompositeRetryPolicy();
  		finalPolicy.setPolicies(new RetryPolicy[] { this.baseRetryPolicy,
  				new BinaryExceptionClassifierRetryPolicy(exceptionClassifier) });
  		retryTemplate.setRetryPolicy(finalPolicy);
  
  		// Backoff policy
  
  		if (this.backOffPolicy == null) {
  			this.backOffPolicy = new NoBackOffPolicy();
  		}
  		retryTemplate.setBackOffPolicy(this.backOffPolicy);
  
  		// Listeners
  
  		if (this.listeners != null) {
  			retryTemplate.setListeners(this.listeners.toArray(new RetryListener[0]));
  		}
  
  		return retryTemplate;
  	}