public AMQP.Queue.DeclareOk queueDeclare(
     String queue,
     boolean durable,
     boolean exclusive,
     boolean autoDelete,
     Map<String, Object> arguments)
     throws IOException {
   final AMQP.Queue.DeclareOk ok =
       delegate.queueDeclare(queue, durable, exclusive, autoDelete, arguments);
   RecordedQueue q =
       new RecordedQueue(this, ok.getQueue())
           .durable(durable)
           .exclusive(exclusive)
           .autoDelete(autoDelete)
           .arguments(arguments);
   if (queue.equals(RecordedQueue.EMPTY_STRING)) {
     q.serverNamed(true);
   }
   recordQueue(ok, q);
   return ok;
 }