docs: @Override
      public void initialize(JsMEConfig config) throws Exception {
  
          String thisMethodName = CLASS_NAME + ".initialize(Object)";
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              SibTr.entry(tc, thisMethodName, "");
          }
  
          meConfig = config;
          createMessageEngine(meConfig);
  
          // Initialize the ME's we created
          Enumeration meEnum = _messagingEngines.elements();
          while (meEnum.hasMoreElements()) {
              Object o = meEnum.nextElement();
              Object c = ((MessagingEngine) o).getRuntime();
              if (c instanceof BaseMessagingEngineImpl) {
                  try {
                      ((BaseMessagingEngineImpl) c).initialize(null);
                      setAttributes((BaseMessagingEngineImpl) c);
                  } catch (Exception e) {
                      FFDCFilter.processException(e, thisMethodName,
                                                  "1:656:1.108", this);
                      SibTr.exception(tc, e);
                      SibTr.error(tc, "INTERNAL_ERROR_SIAS0003", e);
                      SibTr.error(tc, "ME_ERROR_REPORTED_SIAS0029",
                                  ((BaseMessagingEngineImpl) c).getName());
                  }
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              SibTr.exit(tc, thisMethodName);
          }
      }