docs: @Override
      public void messageEventOccurred(
                                       int event,
                                       SIMPMessage msg,
                                       TransactionCommon tran)
                      throws SIRollbackException,
                      SIConnectionLostException,
                      SIIncorrectCallException,
                      SIResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(
                          tc,
                          "messageEventOccurred",
                          new Object[] { Integer.valueOf(event), msg, tran });
  
          if (event == MessageEvents.REFERENCES_DROPPED_TO_ZERO)
          {
              _pubSubRealization.itemReferencesDroppedToZero(msg);
          }
          else if (event == MessageEvents.EXPIRY_NOTIFICATION)
          {
              eventMessageExpiryNotification(msg, tran);
          }
          else if (event == MessageEvents.COD_CALLBACK) //183715.1
          {
              sendCODMessage(msg, tran);
          }
          else
          {
              final SIErrorException e =
                              new SIErrorException(
                                              nls.getFormattedMessage(
                                                                      "INTERNAL_MESSAGING_ERROR_CWSIP0001",
                                                                      new Object[] {
                                                                                    "com.ibm.ws.sib.processor.impl.BaseDestinationHandler",
                                                                                    "1:3717:1.700.3.45" },
                                                                      null));
  
              FFDCFilter.processException(
                                          e,
                                          "com.ibm.ws.sib.processor.impl.BaseDestinationHandler.messageEventOccurred",
                                          "1:3723:1.700.3.45",
                                          this);
  
              SibTr.exception(tc, e);
  
              SibTr.error(
                          tc,
                          "INTERNAL_MESSAGING_ERROR_CWSIP0001",
                          new Object[] {
                                        "com.ibm.ws.sib.processor.impl.BaseDestinationHandler",
                                        "1:3733:1.700.3.45" });
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(tc, "messageEventOccurred", e);
  
              throw e;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "messageEventOccurred");
      }