if (log.isTraceEnabled()) { log.trace("Invoking:" + invocation); }
if (trace) { log.trace("Invoking:" + invocation); }
   public Object invoke(InvocationRequest invocation) throws Throwable   {            if (log.isTraceEnabled()) { log.trace("Invoking:" + invocation); }            MethodInvocation i = (MethodInvocation)invocation.getParameter();      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 (log.isTraceEnabled()) { log.trace("found calllback handler for session " + Util.guidToString(s)); }            i.getMetaData().addMetaData(MetaDataConstants.JMS,                                        MetaDataConstants.CALLBACK_HANDLER, callbackHandler);         }         else         {            throw new javax.jms.IllegalStateException("Cannot find callback handler " +                                                      "for session id " + s);         }      }      return Dispatcher.singleton.invoke(i);   }