protected <T extends Response> long doSend ( Request request, T response, Set<RequestParam> params, long timeout ) throws IOException {
        long firstKey = prepareRequests(request, response, params, timeout);
        doSend(request);
        return firstKey;
    }
protected < T extends Response > long doSend ( Request request , T response , Set < RequestParam > params , long timeout ) throws IOException { long firstKey = prepareRequests ( request , response , params , timeout ) ; doSend ( request ) ; return firstKey ; }
@param request
@param response
@param params
@param timeout
@return
@throws IOException