docs: protected void initializeRestTemplate(){
  		connectionManager = buildConnectionManager();
  		if (connectionManager == null){			// should use JDK rather than HttpClient
  			restTemplate = new RestTemplate();
  		}else{
  			if (connectionManager instanceof PoolingHttpClientConnectionManager){
  				configureConnectionManager((PoolingHttpClientConnectionManager)connectionManager);
  			}
  			HttpRequestRetryHandler retryHandler = buildRequestRetryHandler();
  			HttpClientBuilder clientBuilder = HttpClients.custom().setConnectionManager(connectionManager);
  			configureHttpClient(clientBuilder);
  			clientBuilder.setRetryHandler(retryHandler);
  			CloseableHttpClient httpClient = clientBuilder.build();
  			
  			HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
  			configureRequestFactory(requestFactory);
  			
  			restTemplate = new RestTemplate(requestFactory);
  		}
  		configureRequestFactory(restTemplate.getRequestFactory());
  		configureMessageConverters(restTemplate.getMessageConverters());
  		configureRestTemplate(restTemplate);
  	}