docs: protected static void handleDeleteDurable(
      DestinationManager DM,
      ControlDeleteDurable msg,
      MessageProcessor MP)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "handleDeleteDurable", new Object[] {DM, msg, MP});
  
      int status = STATUS_SUB_GENERAL_ERROR;
      
      try 
      {
        // Track down a handler for this durable sub, error if we can't find one
        String  subName     = msg.getDurableSubName();
        HashMap durableSubs = DM.getDurableSubscriptionsTable();
  
        synchronized (durableSubs)
        {
          //Look up the consumer dispatcher for this subId in the system durable subs list
          ConsumerDispatcher cd =
            (ConsumerDispatcher) durableSubs.get(subName);
            
          // Check that the durable subscription existed
          if (cd == null) 
          {
            if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
              SibTr.exit(tc, "handleDeleteDurable", "SIDurableSubscriptionNotFoundException");
            
            status = DurableConstants.STATUS_SUB_NOT_FOUND;
            
            throw new SIDurableSubscriptionNotFoundException(
              nls.getFormattedMessage(
                "SUBSCRIPTION_DOESNT_EXIST_ERROR_CWSIP0072",
                new Object[] { subName,                
                               MP.getMessagingEngineName() },
                null));
          }
            
          // Obtain the destination from the consumer dispatcher
          // A cast error here will result in an error sent back to the caller
          BaseDestinationHandler handler = cd.getDestination();
  
          boolean userMatch = true;
          // If security is disabled then we'll bypass the check
          if(MP.isBusSecure())
          {                
            // Check that the user who is attempting to delete this durable subscription
            // matches that set in the CD state when the subscription was created
          
            ConsumerDispatcherState subState = cd.getConsumerDispatcherState();
            String theUser = msg.getSecurityUserid(); 
            if(theUser == null)
            {
              if(subState.getUser() != null)
                userMatch = false;
            }
            else
            {
              if (!theUser.equals(subState.getUser()))
                userMatch = false;  
            }
          }  
          // Handle the case where the users do not match
          if (!userMatch)
          {  
            status = DurableConstants.STATUS_NOT_AUTH_ERROR;
          }        
          else
          {
            status = handler.deleteDurableFromRemote(subName);
          }
        }
      }
      catch (SIDurableSubscriptionNotFoundException e) 
      {
         // No FFDC code needed
         SibTr.exception(tc, e);
      }
      catch (Exception e)
      {
        // FFDC
        // Any other exception is unexpected
        FFDCFilter.processException(
          e,
          "com.ibm.ws.sib.processor.impl.DurableOutputHandler.handleDeleteDurable",
          "1:387:1.45.1.1",
          DurableOutputHandler.class);
      }
      
      // Forward the status to the caller and we're done
      SIBUuid8              sender = msg.getGuaranteedSourceMessagingEngineUUID(); 
      ControlDurableConfirm reply  = createDurableConfirm(MP, sender, msg.getRequestID(), status);
      MP.getMPIO().sendToMe(sender, SIMPConstants.CONTROL_MESSAGE_PRIORITY, reply);
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "handleDeleteDurable");
    }