docs: private void deleteSystemDestination(BaseDestinationHandler destinationHandler) throws SINotPossibleInCurrentConfigurationException, SIResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "deleteSystemDestination", new Object[] { destinationHandler });
  
          synchronized (destinationHandler)
          {
              if (destinationHandler.isToBeDeleted() || !destinationHandler.isSystem())
              {
                  // Treat as if the destination does not exist.
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(
                                 tc,
                                 "deleteSystemDestination",
                                 "Destination not found as destination is to be deleted, or is system");
  
                  throw new SIMPNotPossibleInCurrentConfigurationException(
                                  nls_cwsik.getFormattedMessage(
                                                                "DELETE_SYSTEM_DEST_ERROR_CWSIP0046",
                                                                new Object[] { destinationHandler.getName(), messageProcessor.getMessagingEngineName() }, null));
              }
  
              // Set the deletion flag in the DH persistently.
              ExternalAutoCommitTransaction transaction = txManager.createAutoCommitTransaction();
  
              destinationHandler.setToBeDeleted(true);
              destinationIndex.delete(destinationHandler);
              try
              {
                  destinationHandler.requestUpdate(transaction);
              } catch (MessageStoreException e)
              {
                  // MessageStoreException shouldn't occur so FFDC.
                  FFDCFilter.processException(
                                              e,
                                              "com.ibm.ws.sib.processor.impl.DestinationManager.deleteSystemDestination",
                                              "1:5476:1.508.1.7",
                                              this);
  
                  SibTr.exception(tc, e);
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(tc, "deleteSystemDestination", "SIResourceException");
                  throw new SIResourceException(e);
              }
  
              // Close all connections to the localisation
              // Ensure that before calling these methods, the destination is marked
              // to-be-deleted or is marked as deleted, to avoid any new producers and
              // consumers attaching after we have closed the currently attached ones.
              destinationHandler.closeProducers();
              destinationHandler.closeConsumers();
  
              //Add all the localisations to the set of those requiring clean-up
              destinationHandler.addAllLocalisationsForCleanUp();
  
              //Clear the set of ME's that localise the destination
              destinationHandler.clearLocalisingUuidsSet();
  
              startAsynchDeletion();
  
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "deleteSystemDestination");
      }