boolean removed = this.serverPeer.getStateManager().removeDurableSubscription(this.connectionEndpoint.clientID, subscriptionName);  if (!removed) { throw new JMSException("Failed to remove durable subscription"); }
   public void unsubscribe(String subscriptionName) throws JMSException   {      if (closed)      {         throw new IllegalStateException("Session is closed");      }      if (subscriptionName == null)      {         throw new InvalidDestinationException("Destination is null");      }      DurableSubscription subscription = this.serverPeer.getClientManager().            removeDurableSubscription(this.connectionEndpoint.clientID, subscriptionName);      if (subscription == null)      {         throw new InvalidDestinationException("Cannot find durable subscription with name " +            subscriptionName + " to unsubscribe");      }            subscription.unsubscribe();            try      {         this.serverPeer.getPersistenceManager().removeAllMessageData(subscription.getChannelID());      }      catch (Exception e)      {         log.error("Failed to remove message data", e);         throw new IllegalStateException("Failed to remove message data");      }         }