one instance of XDIDIscoveryClient reuses a single XDIHttpClient, which is itself not thread-safe due to the use of the httpURLConnection member and the design of the connect() and disconnect() methods
as a workaround, create a new XDIDIscoveryClient every time it is needed (or at least a separate one per thread)