code: public static void getServerFromBalancerAsync(String balancerUrl,String applicationKey, final OnRestWebserviceResponse onCompleted) throws MalformedURLException {
  		Matcher protocolMatcher = urlProtocolPattern.matcher(balancerUrl);
  
  		String protocol = protocolMatcher.matches() ? "" : protocolMatcher.group(1);
  
  		String parsedUrl = String.format("%s%s", protocol, balancerUrl);
  		
  		if(!Strings.isNullOrEmpty(applicationKey)){
              // CAUSE: Prefer String.format to +
              parsedUrl += String.format("?appkey=%s", applicationKey);
  		}
  		
  		URL url = new URL(parsedUrl);
  
  		RestWebservice.getAsync(url, new OnRestWebserviceResponse() {			
  			@Override
  			public void run(Exception error, String response) {
  				if(error != null){
  					onCompleted.run(error, null);
  				}else{
  					String clusterServer = null;
  
  					Matcher matcher = balancerServerPattern.matcher(response);
  
  					if (matcher.matches()) {
  						clusterServer = matcher.group(1);
  					}
  					
  					if(Strings.isNullOrEmpty(clusterServer)){
  						onCompleted.run(new InvalidBalancerServerException(response), null);
  					}else{
  						onCompleted.run(null, clusterServer);
  					}					
  				}
  			}
  		});
  	}
docs: Retrieves an Ortc Server url from the Ortc Balancer
  
  @param balancerUrl
  The Ortc Balancer url
  @throws java.net.MalformedURLException