docs: public void deleteSubscription(
      String subId,
      boolean force) 
      
      throws SINotAuthorizedException, 
             SIDurableSubscriptionNotFoundException, 
             SIDestinationLockedException, 
             SIResourceException, 
             SIIncorrectCallException,
             SINotPossibleInCurrentConfigurationException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(
          tc,
          "deleteSubscription",
          new Object[] { subId, new Boolean(force) });
  
      checkStarted();
      
      if (subId == null)
      {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "deleteSubscription", "SubId is null");
        throw new SIDurableSubscriptionNotFoundException(
          nls.getFormattedMessage(
            "SUBSCRIPTION_DOESNT_EXIST_ERROR_CWSIP0072",
            new Object[] {null,
                          messageProcessor.getMessagingEngineName()},
            null));
      }
  
      HashMap durableSubs = destinationManager.getDurableSubscriptionsTable();    
  
      synchronized (durableSubs)
      {
        // Look up the consumer dispatcher for this subId in the system durable subs list
        ConsumerDispatcher cd = (ConsumerDispatcher) durableSubs.get(subId);
        
        // Does the subscription exist, if it doesn't, throw a 
        // SIDestinationNotFoundException
        if (cd == null)
        {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
            SibTr.exit(tc, "deleteSubscription", "SIDurableSubscriptionNotFoundException");
            
          throw new SIDurableSubscriptionNotFoundException(          
            nls.getFormattedMessage(
              "SUBSCRIPTION_DOESNT_EXIST_ERROR_CWSIP0146",
              new Object[] { subId,
                             messageProcessor.getMessagingEngineName() },
            null));
        }        
  
        // Obtain the destination from the queueing points
        DestinationHandler destination = cd.getDestination();
  
        // Call the deleteDurableSubscription method on the destination
        // NOTE: this assumes the durable subscription is always local
        destination.deleteDurableSubscription(subId, messageProcessor.getMessagingEngineName());
      }
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "deleteSubscription");
    }