code: public DiscoveryAPIResponse callDiscoveryAPI(Environment environment) throws ConnectionException {
  
  		logger.debug("Enter DiscoveryAPIClient::callDiscoveryAPI");
  		
  		try {
  
  			HttpRequestClient client = new HttpRequestClient(proxyConfig);
  			Request request = new Request.RequestBuilder(MethodType.GET, getDiscoveryAPIHost(environment))
  											.requiresAuthentication(false)
  											.build(); 
  			Response response = client.makeRequest(request);
  
  			logger.debug("Response Code : " + response.getStatusCode());
  			if (response.getStatusCode() == 200) {
  				ObjectReader reader = mapper.readerFor(DiscoveryAPIResponse.class);
  				DiscoveryAPIResponse discoveryAPIResponse = reader.readValue(response.getContent());
  				return discoveryAPIResponse;
  
  			} else {
  				logger.debug("failed calling discovery document API");
  				throw new ConnectionException("failed calling discovery document API", response.getStatusCode() + "");
  			}
  		} catch (Exception ex) {
  			logger.error("Exception while calling discovery document", ex);
  			throw new ConnectionException(ex.getMessage(), ex);
  		}
  	}
docs: Calls the Discovery Document API based on the the Environment provided and
  returns an object with url’s for all the endpoints
  
  @param environment
  @return
  @throws ConnectionException