this.sessionEndpoint.connectionEndpoint.receivers.remove(id);  if (this.channel instanceof Subscription) { ((Subscription)channel).closeConsumer(this.sessionEndpoint.serverPeer.getPersistenceManager()); }  this.sessionEndpoint.consumers.remove(this.id);
   void remove() throws JMSException   {      if (log.isTraceEnabled()) log.trace("attempting to remove receiver " + this + " from destination " + channel);       for(Iterator i = deliveries.iterator(); i.hasNext(); )      {         SingleReceiverDelivery d = (SingleReceiverDelivery)i.next();         try         {            d.cancel();         }         catch(Throwable t)         {            log.error("Cannot cancel delivery: " + d, t);         }         i.remove();      }            if (!disconnected)      {         close();      }            this.sessionEndpoint.connectionEndpoint.receivers.remove(id);      if (this.channel instanceof Subscription)      {         ((Subscription)channel).closeConsumer(this.sessionEndpoint.serverPeer.getPersistenceManager());      }            this.sessionEndpoint.consumers.remove(this.id);   }  