if (log.isTraceEnabled()) { log.trace(this + " close"); }
if (trace) { log.trace(this + " close"); }
   public void close() throws JMSException   {      if (closed)      {         throw new IllegalStateException("Consumer is already closed");      }            if (log.isTraceEnabled()) { log.trace(this + " close"); }            closed = true;            // On close we only disconnect the consumer from the Channel we don't actually remove it      // This is because it may still contain deliveries that may well be acknowledged after      // the consumer has closed. This is perfectly valid.      disconnect();            Dispatcher.singleton.unregisterTarget(this.id);   }