code: public URL getElasticsearchUrl() {
  		final List<URL> urls = elasticsearchUrls.getValue();
  		if (urls.isEmpty()) {
  			return null;
  		}
  		final int index = accessesToElasticsearchUrl.getAndIncrement() % urls.size();
  		URL elasticsearchURL = urls.get(index);
  
  		final String defaultUsernameValue = elasticsearchDefaultUsername.getValue();
  		final String defaultPasswordValue = elasticsearchDefaultPassword.getValue();
  
  		if (elasticsearchURL.getUserInfo() == null
  				&& ! defaultUsernameValue.isEmpty()
  				&& ! defaultPasswordValue.isEmpty()) {
  
  			try {
  				String username = URLEncoder.encode(defaultUsernameValue, "UTF-8");
  				String password = URLEncoder.encode(defaultPasswordValue, "UTF-8");
  				StringBuilder stringBuilder = new StringBuilder();
  				stringBuilder
  						.append(elasticsearchURL.getProtocol())
  						.append("://")
  						.append(username)
  						.append(":")
  						.append(password)
  						.append("@")
  						.append(elasticsearchURL.getHost())
  						.append(":")
  						.append(elasticsearchURL.getPort())
  						.append(elasticsearchURL.getPath());
  				return new URL(stringBuilder.toString());
  			} catch (Exception e) {
  				logger.error(e.getMessage(), e);
  			}
  		}
  
  		return elasticsearchURL;
  	}
docs: Cycles through all provided Elasticsearch URLs and returns one
  
  @return One of the provided Elasticsearch URLs