protected final void callResponseHandler(IHttpResponseHandler responseHandler, IHttpResponse response) throws IOException {
ResponseHandlerInfo handlerInfo = HttpUtils.getResponseHandlerInfo(responseHandler);
if (response.hasBody() && handlerInfo.isResponseHandlerInvokeOnMessageReceived()) {
NonBlockingBodyDataSource ds = response.getNonBlockingBody();
BodyListener bodyListener = new BodyListener(ds, responseHandler, handlerInfo, response);
ds.addCompleteListener(bodyListener);