code: private Message getMessageFromProxy(Message msg) {
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getMessageFromProxy", msg);
  
          try {
              if (msg instanceof Proxy) {
                  //check whether proxy is type of our InvocationHanlder.
                  InvocationHandler handler = Proxy.getInvocationHandler(msg);
  
                  //deal only with our handlers.. other Proxy handlers.. leave as it is..
                  if (handler instanceof MessageProxyInvocationHandler) {
                      msg = ((MessageProxyInvocationHandler) handler).getMessage();
  
                  }
              }
  
          } catch (Exception e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "Exception in getMessageFromProxy .. returning msg as it is", e);
  
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getMessageFromProxy", msg);
  
          return msg;
  
      }
docs: returns the actual message implementation object if msg is
  Proxy ... this method ignores any message is owned by other than SIB.