docs: @Override
      public void initialize(JsMessagingEngine engine) {
          if (TraceComponent.isAnyTracingEnabled()
              && tc.isEntryEnabled())
              SibTr.entry(tc, "initialize", engine);
  
          this._engine = engine;
  
          //Venu mock mock
          //This is needed for MELockOwner in PersistentMessageStoreImpl' initialize. However the MELockOwer object not really relevant
          // as uuid check is disabled in PersistentMessageStoreImpl
          // In case of warm start, after reconstiturion _engine Messaging Engine Uuid is reset from restored Uuid
          this._engine.setMEUUID(new SIBUuid8());
  
          _mpio = new MPIO(this);
  
          _meFactories = new HashMap<String, Object>();
          try {
              _meFactories.put(SIMPConstants.JS_MBEAN_FACTORY, engine.getMBeanFactory());
          } catch (Exception e) {
  
              // FFDC
              FFDCFilter.processException(
                                          e,
                                          "com.ibm.ws.sib.processor.impl.MessageProcessor.initialize",
                                          "1:1202:1.445",
                                          this);
  
              SIErrorException finalE =
                              new SIErrorException(
                                              nls.getFormattedMessage(
                                                                      "INTERNAL_MESSAGING_ERROR_CWSIP0002",
                                                                      new Object[] { "com.ibm.ws.sib.processor.impl.MessageProcessor", "1:1209:1.445", e },
                                                                      null),
                                              e);
  
              SibTr.exception(tc, finalE);
              SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
                          new Object[] { "com.ibm.ws.sib.processor.impl.MessageProcessor", "1:1215:1.445", SIMPUtils.getStackTrace(e) });
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(tc, "initialize", finalE);
  
              throw finalE;
  
          }
  
          // Obtain instances of all singleton factories to be used in mp.
          // Initialize is the only place we can get the instance and handle
          // and exceptions correctly.
  
          if (_factories == null) {
              _factories = new HashMap<String, Object>();
              try {
                  _factories.put(SIMPConstants.JS_DESTINATION_ADDRESS_FACTORY,
                                 JsMainAdminComponentImpl.getSIDestinationAddressFactory());
                  _factories.put(SIMPConstants.SI_DESTINATION_ADDRESS_FACTORY,
                                 JsMainAdminComponentImpl.getSIDestinationAddressFactory());
                  _factories.put(SIMPConstants.CONTROL_MESSAGE_FACTORY,
                                 ControlMessageFactory.getInstance());
                  _factories.put(SIMPConstants.JS_ADMIN_FACTORY, JsAdminFactory
                                  .getInstance());
  
                  // Matching instance
                  _factories.put(SIMPConstants.MATCHING_INSTANCE, Matching
                                  .getInstance());
  
                  // SelectionCriteria
                  _factories.put(SIMPConstants.JS_SELECTION_CRITERIA_FACTORY,
                                 JsMainAdminComponentImpl.getSelectionCriteriaFactory());
  
                  _factories.put(SIMPConstants.JS_MESSAGE_HANDLE_FACTORY,
                                 JsMessageHandleFactory.getInstance());
              } catch (Exception e) {
                  // FFDC
                  FFDCFilter
                                  .processException(
                                                    e,
                                                    "com.ibm.ws.sib.processor.impl.MessageProcessor.initialize",
                                                    "1:1261:1.445", this);
  
                  SIErrorException finalE = new SIErrorException(
                                  nls
                                                  .getFormattedMessage(
                                                                       "INTERNAL_MESSAGING_ERROR_CWSIP0002",
                                                                       new Object[] {
                                                                                     "com.ibm.ws.sib.processor.impl.MessageProcessor",
                                                                                     "1:1268:1.445", e }, null), e);
  
                  SibTr.exception(tc, finalE);
                  SibTr
                                  .error(
                                         tc,
                                         "INTERNAL_MESSAGING_ERROR_CWSIP0002",
                                         new Object[] {
                                                       "com.ibm.ws.sib.processor.impl.MessageProcessor",
                                                       "1:1274:1.445",
                                                       SIMPUtils.getStackTrace(e) });
  
                  if (TraceComponent.isAnyTracingEnabled()
                      && tc.isEntryEnabled())
                      SibTr.exit(tc, "initialize", finalE);
  
                  throw finalE;
              }
          }
          // Determine if messages on deleted destinations should be discarded
          // _discardMsgsAfterQueueDeletion =
          // (_engine.getBus()).getBoolean(CT_SIBus.DISCARDMSGSAFTERQUEUEDELETION_NAME,
          // CT_SIBus.DISCARDMSGSAFTERQUEUEDELETION_DEFAULT);
  
          // Venu temp
          // this property is not configured in Libery profile and Admin has not
          // exposed this...
          // so hardcoding to false.
          _discardMsgsAfterQueueDeletion = false;
  
          if (TraceComponent.isAnyTracingEnabled()
              && tc.isEntryEnabled())
              SibTr.exit(tc, "initialize");
      }