if (trace) { log.trace("found calllback handler for session " + Util.guidToString(s)); }
log.debug("found calllback handler for remoting session " + Util.guidToString(s));
   public Object invoke(InvocationRequest invocation) throws Throwable   {            if (trace) { log.trace("Invoking:" + invocation); }            MessagingMarshallable mm = (MessagingMarshallable)invocation.getParameter();            MethodInvocation i = (MethodInvocation)mm.getLoad();                  //Put the version number into meta data for use in the InjectionInterceptor      i.getMetaData().addMetaData(MetaDataConstants.JMS,            MetaDataConstants.VERSION_NUMBER, new Byte(mm.getVersion()), PayloadKey.TRANSIENT);                  String s = (String)i.getMetaData(MetaDataConstants.JMS, MetaDataConstants.REMOTING_SESSION_ID);            if (s != null)      {         Object callbackHandler = null;         synchronized(callbackHandlers)         {            callbackHandler = callbackHandlers.get(s);         }         if (callbackHandler != null)         {            if (trace) { log.trace("found calllback handler for session " + Util.guidToString(s)); }            i.getMetaData().addMetaData(MetaDataConstants.JMS,                                        MetaDataConstants.CALLBACK_HANDLER, callbackHandler, PayloadKey.TRANSIENT);         }         else         {            throw new javax.jms.IllegalStateException("Cannot find callback handler " +                                                      "for session id " + s);         }      }      InvocationResponse resp = JMSDispatcher.instance.invoke(i);            byte version = mm.getVersion();            return new MessagingMarshallable(version, resp.getResponse());   }