@Override
public JsonObjectBuilder toJson(QueueControl queue) {
Queue q = server.locateQueue(new SimpleString(queue.getName()));
JsonObjectBuilder obj = JsonLoader.createObjectBuilder().add("id", toString(queue.getID()))
.add("name", toString(queue.getName())).add("address", toString(queue.getAddress()))
.add("filter", toString(queue.getFilter())).add("rate", toString(q.getRate()))
.add("durable", toString(queue.isDurable())).add("paused", toString(q.isPaused()))
.add("temporary", toString(queue.isTemporary()))
.add("purgeOnNoConsumers", toString(queue.isPurgeOnNoConsumers()))
.add("consumerCount", toString(queue.getConsumerCount()))
.add("maxConsumers", toString(queue.getMaxConsumers()))
.add("autoCreated", toString(q.isAutoCreated()))
.add("user", toString(q.getUser()))
.add("routingType", toString(queue.getRoutingType()))
.add("messagesAdded", toString(queue.getMessagesAdded()))
.add("messageCount", toString(queue.getMessageCount()))
.add("messagesAcked", toString(queue.getMessagesAcknowledged()))
.add("deliveringCount", toString(queue.getDeliveringCount()))
.add("messagesKilled", toString(queue.getMessagesKilled()))
.add("deliverDeliver", toString(q.isDirectDeliver()))
.add("exclusive", toString(queue.isExclusive()))
.add("lastValue", toString(queue.isLastValue()));
return obj;
}