@Override public void sendRequest( final ClientRequest request, final ClientCallback<ClientExchange> clientCallback) { if (anyAreSet(state, UPGRADE_REQUESTED | UPGRADED | CLOSE_REQ | CLOSED)) { throw UndertowClientMessages.MESSAGES.invalidConnectionState(); } final HttpClientExchange httpClientExchange = new HttpClientExchange(clientCallback, request, this); if (currentRequest == null) { initiateRequest(httpClientExchange); } else { pendingQueue.add(httpClientExchange); } }