Constructor<AsyncHttpClient> constructor = asyncHttpClientImplClass.getConstructor(DefaultAsyncHttpClientConfig.class);
Should be
.getConstructor(AsyncHttpClientConfig.class);
Otherwise, all custom AsyncHttpClient implementations are tightly coupled to DefaultAsyncHttpClient and testing becomes difficult.