final Map<String, String> rawHeaders = responseHeaders.toMap(); asyncResult = handleBodyReturnTypeAsync(response, methodParser, bodyType) .map((Function<Object, RestResponse<?, ?>>) body -> responseConstructor.newInstance(response.request(), responseStatusCode, deserializedHeaders, rawHeaders, body)) .toSingle(responseConstructor.newInstance(response.request(), responseStatusCode, deserializedHeaders, rawHeaders, null)); asyncResult = handleBodyReturnTypeAsync(response, methodParser, entityType).toSingle();