docs: public void deleteLocalSubscriptionControlByID(String id) 
    throws SIMPInvalidRuntimeIDException, SIMPControllableNotFoundException, SIMPException, 
           SIDurableSubscriptionNotFoundException, SIDestinationLockedException, SIResourceException, SIIncorrectCallException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "deleteLocalSubscriptionControlByID", id);
      
      assertMessageHandlerNotCorrupt();
  
      ControllableSubscription sub = getSubscription(id);
  
      if (!sub.isDurable())
      {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(
            tc,
            "deleteLocalSubscriptionControlByID",
            "SIMPIncorrectCallException");
            
        throw new SIMPIncorrectCallException(
          nls.getFormattedMessage(
            "SUBSCRIPTION_DELETE_ERROR_CWSIP0272",
            new Object[]{id},
            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(sub.getConsumerDispatcherState().getSubscriberID());
        
        // Does the subscription exist, if it doesn't, throw a 
        // SIDestinationNotFoundException
        if (cd == null)
        {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
            SibTr.exit(tc, "deleteSubscription", "SIMPControllableNotFoundException");
            
          throw new SIMPControllableNotFoundException(          
            nls.getFormattedMessage(
              "SUBSCRIPTION_DOESNT_EXIST_ERROR_CWSIP0146",
              new Object[] { sub.getConsumerDispatcherState().getSubscriberID(),
                             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(sub.getConsumerDispatcherState().getSubscriberID(), 
                                              messageProcessor.getMessagingEngineName());
      }
  
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "deleteLocalSubscriptionControlByID");
    }