code: public BaseMessage processMessage(BaseMessage message)
      {
          if (message == null)
              return null;
          this.updateLogFiles(message, true);  // Need to change log status to SENTOK (also associate return message log trx ID) (todo)
          String strReturnQueueName = null;
          if (message.getMessageHeader() instanceof TrxMessageHeader)
              strReturnQueueName = (String)((TrxMessageHeader)message.getMessageHeader()).getMessageHeaderMap().get(MessageConstants.RETURN_QUEUE_NAME);
          if (strReturnQueueName == null)
              strReturnQueueName = MessageConstants.TRX_RETURN_QUEUE;
          TrxMessageHeader privateMessageHeader = new TrxMessageHeader(strReturnQueueName, MessageConstants.INTERNET_QUEUE, null);
          if (message.getMessageHeader().getRegistryIDMatch() == null)
          {   // The registry is probably in the message header
              Integer intRegistryID = this.getRegistryID(message);
              if (intRegistryID != null)
                  message.getMessageHeader().setRegistryIDMatch(intRegistryID);
          }
          privateMessageHeader.setRegistryIDMatch(message.getMessageHeader().getRegistryIDMatch());
          message.setMessageHeader(privateMessageHeader);
  
          Environment env = null;
          if ((this.getTask() != null)
              && (this.getTask().getApplication() != null))
                  env = ((BaseApplication)this.getTask().getApplication()).getEnvironment();
          if (env == null)
              env = Environment.getEnvironment(null);
          App app = null;
          if (this.getTask() != null)
          	app = this.getTask().getApplication();
          MessageManager msgManager = env.getMessageManager(app, true);
          msgManager.sendMessage(message);
          return null;
      }
docs: Given the converted message for return, do any further processing before returning the message.
  @param internalMessage The internal return message just as it was converted from the source.