invocation.getMetaData().mergeIn(getMetaData());
invocation.getMetaData().mergeIn(getMetaData());  if (log.isTraceEnabled()) { log.trace("invocation (" + invocation.getMethod().getName() + ") submitted to the interceptor chain"); }
   public Object invoke(Object proxy, Method method,  Object[] args) throws Throwable   {      // build the invocation      long hash = MethodHashing.calculateHash(method);      MethodJoinPoint info = new MethodJoinPoint();      info.hash = hash;      info.advisedMethod = method;      info.unadvisedMethod = method;      MethodInvocation invocation = new JMSMethodInvocation(info, interceptors, this);      invocation.setArguments(args);           // initialize the invocation's metadata      // TODO I don't know if this is the most efficient thing to do      invocation.getMetaData().mergeIn(getMetaData());                 return invocation.invokeNext();   }