docs: public static BaseMessageProcessor getMessageProcessor(Task taskParent, BaseMessage externalTrxMessage, String strDefaultProcessorClass)
      {
          BaseMessageProcessor messageProcessor = null;
          String strClass = null;
          if (externalTrxMessage != null)
              strClass = (String)((TrxMessageHeader)externalTrxMessage.getMessageHeader()).get(TrxMessageHeader.MESSAGE_PROCESSOR_CLASS);
          if ((strClass == null) || (strClass.length() == 0))
              strClass = strDefaultProcessorClass;
          String strPackage = null;
          if (externalTrxMessage != null)
              strPackage = (String)((TrxMessageHeader)externalTrxMessage.getMessageHeader()).get(TrxMessageHeader.BASE_PACKAGE);
          strClass = ClassServiceUtility.getFullClassName(strPackage, strClass);
          messageProcessor = (BaseMessageProcessor)ClassServiceUtility.getClassService().makeObjectFromClassName(strClass);
          if (messageProcessor != null)
          	messageProcessor.init(taskParent, null, null);
          else
              Utility.getLogger().warning("Message processor not found: " + strClass);
          return messageProcessor;
      }