}
final JsonNode id = jsonMsg.getId();
try {
if (jsonMsg.isRequest()) {
final JSONRequest request = (JSONRequest) jsonMsg;
final RequestParams params = new RequestParams();
params.put(Sender.class, senderUrl.toASCIIString());
return JSONRPC.invoke(destination.get(), request, params, auth);
} else if (jsonMsg.isResponse() && callbacks != null && id != null
&& !id.isNull()) {
final AsyncCallback<JSONResponse> callback = callbacks.pull(id);
if (callback != null) {