public void sendDatagram(URI to, Msg msg) throws TransportException {
try {
routerLock.acquire();
Interceptor interceptor = lookupInterceptorFrom(to);
SimpleInvocation invocation = new SimpleInvocation();
InvocationSupport.putMarshaledValue(invocation, msg.popMarshaledObject());
InvocationSupport.putRemoteURI(invocation, to);
interceptor.invoke(invocation);
} catch (Throwable e) {