Discovery is called from main API which happens in async call. Actual web requests are using HttpUrlConnection and it does not provide response handler like HttpClient, so it needs to wait for response. HttpUrlConnection  was suggested by android http://developer.android.com/guide/topics/connectivity/index.html. They continue to support that instead of HttpClient.