docs: @Override
      public void eventPostCommitAdd(Transaction transaction) throws SevereMessageStoreException
      {
          super.eventPostCommitAdd(transaction);
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(
                          tc,
                          "eventPostCommitAdd",
                          new Object[] { transaction });
  
          if ((getMessageItem().getRegisterForPostEvents()) || failedInitInRestore)
          {
              stream = (MessageReferenceStream) getReferenceStream();
              //we can only register the listeners if we are fully initialized
              if ((stream instanceof DurableSubscriptionItemStream) || (stream instanceof ProxyReferenceStream))
              {
                  stream.registerListeners(this);
              }
              failedInitInRestore = false;
              getMessageItem().setRegisterForPostEvents(failedInitInRestore);
  
          }
  
          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.MessageItemReference.eventPostCommitAdd",
                                              "1:422:1.147",
                                              this);
  
                  SibTr.exception(tc, e);
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(tc, "eventPostCommitAdd", e);
  
                  throw new SIErrorException(e);
              }
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "eventPostCommitAdd");
      }