public QueueDeclareOk QueueDeclare(string queue, bool durable,
bool exclusive, bool autoDelete,
IDictionary<string, object> arguments)
{
var result = m_delegate.QueueDeclare(queue, durable, exclusive,
autoDelete, arguments);
RecordedQueue rq = new RecordedQueue(this, result.QueueName).
Durable(durable).
Exclusive(exclusive).
AutoDelete(autoDelete).
Arguments(arguments).
ServerNamed(string.Empty.Equals(queue));
m_connection.RecordQueue(result.QueueName, rq);
return result;
}