docs: @Override
      public void eventPostCommitAdd(Transaction transaction) throws SevereMessageStoreException
      {
          super.eventPostCommitAdd(transaction);
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "eventPostCommitAdd", transaction);
  
          if (failedInitInRestore)
          {
              initialiseNonPersistent(true);
              setRegisterForPostEvents(true);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && UserTrace.tc_mt.isDebugEnabled())
          {
              try
              {
                  if (getJSMessage(true).isApiMessage())
                  {
                      boolean foreignBus = false;
                      boolean link = false;
                      boolean mqlink = false;
  
                      String targetME = null;
                      if (debugName != null)
                      {
                          SIMPItemStream itemstream = (SIMPItemStream) getItemStream();
  
                          BaseDestinationHandler destination = getDestinationHandler(false, itemstream);
  
                          if (itemstream instanceof PubSubMessageItemStream)
                          {
                              targetME = destination.getMessageProcessor().getMessagingEngineName();
                          }
                          else
                          {
                              SIBUuid8 meUUID = ((PtoPMessageItemStream) itemstream).getLocalizingMEUuid();
                              if (meUUID.equals(destination.getMessageProcessor().getMessagingEngineUuid()))
                                  targetME = destination.getMessageProcessor().getMessagingEngineName();
                              else
                              {
                                  // If it's not the local messaging engine, then don't attempt the very
                                  // expensive operation of trawling through admin for a messaging engine
                                  // we may (intra-bus) or may not (inter-bus) know about - just for UserTrace.
                                  // While the V7 and later interface is better than V6.1, looking up the
                                  // name would be an excessive overhead in the critical path.
                                  targetME = meUUID.toString();
                              }
  
                          }
  
                          foreignBus = destination.isForeignBus();
                          link = destination.isLink();
                          mqlink = destination.isMQLink();
                      }
  
                      String apiMsgId = null;
                      String correlationId = null;
  
                      if (getJSMessage(true) instanceof JsApiMessage)
                      {
                          apiMsgId = ((JsApiMessage) getJSMessage(true)).getApiMessageId();
                          correlationId = ((JsApiMessage) getJSMessage(true)).getCorrelationId();
                      }
                      else
                      {
                          if (getJSMessage(true).getApiMessageIdAsBytes() != null)
                              apiMsgId = new String(getJSMessage(true).getApiMessageIdAsBytes());
  
                          if (getJSMessage(true).getCorrelationIdAsBytes() != null)
                              correlationId = new String(getJSMessage(true).getCorrelationIdAsBytes());
                      }
  
                      String msg = "PRODUCER_SEND_COMMIT_CWSJU0003";
  
                      if (foreignBus)
                          msg = "PRODUCER_SEND_COMMIT_BUS_CWSJU0064";
                      else if (mqlink)
                          msg = "PRODUCER_SEND_COMMIT_MQLINK_CWSJU0066";
                      else if (link)
                          msg = "PRODUCER_SEND_COMMIT_LINK_CWSJU0065";
  
                      SibTr.debug(this, UserTrace.tc_mt,
                                  nls_mt.getFormattedMessage(
                                                             msg,
                                                             new Object[] {
                                                                           apiMsgId,
                                                                           getJSMessage(true).getSystemMessageId(),
                                                                           correlationId,
                                                                           debugName,
                                                                           targetME },
                                                             null));
                  }
              } catch (MessageStoreException e)
              {
                  // No FFDC code needed
  
                  // Log the exception
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.exception(tc, e);
  
                  // As the item is no longer in the store it has likely been committed already.
                  // there doesn't seem any point to log the Message Trace at this point.
              }
          }
  
          // Remove temporary hack to delete publication with no subscribers 183715.1
          if (!transaction.isAutoCommit())
          {
              try
              {
                  if (POST_COMMIT_ADD_1 != null)
                  {
                      POST_COMMIT_ADD_1.messageEventOccurred(MessageEvents.POST_COMMIT_ADD, this, transaction);
                  }
                  if (POST_COMMIT_ADD_2 != null)
                  {
                      POST_COMMIT_ADD_2.messageEventOccurred(MessageEvents.POST_COMMIT_ADD, this, transaction);
                  }
              } catch (SIException e)
              {
                  FFDCFilter.processException(
                                              e,
                                              "com.ibm.ws.sib.processor.impl.store.items.MessageItem.eventPostCommitAdd",
                                              "1:1313:1.244.1.40",
                                              this);
  
                  SibTr.exception(tc, e);
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(this, tc, "eventPostCommitAdd", e);
  
                  throw new SIErrorException(e);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "eventPostCommitAdd");
      }