private void shutdown(QueueConsumer consumer) {
   synchronized (consumer) {
     consumer.shutdown();
     queueConsumers.remove(consumer.getId());
     Subscription subscription = (Subscription) consumer;
     if (subscription.isDeleteWhenIdle()) deleteSubscriberQueue(consumer);
   }
 }
 public void testTimeout(String target) {
   QueueConsumer consumer = queueConsumers.get(target);
   Subscription subscription = (Subscription) consumer;
   if (consumer == null) return;
   synchronized (consumer) {
     if (System.currentTimeMillis() - consumer.getLastPingTime() > subscription.getTimeout()) {
       HornetQRestLogger.LOGGER.shutdownRestSubscription(consumer.getId());
       consumer.shutdown();
       queueConsumers.remove(consumer.getId());
       serviceManager.getTimeoutTask().remove(consumer.getId());
       if (subscription.isDeleteWhenIdle()) deleteSubscriberQueue(consumer);
     }
   }
 }