    # File lib/amqp/channel.rb, line 834
        def queue!(name, opts = {}, &block)
          queue = if block.nil?
                    Queue.new(self, name, opts)
                  else
                    shim = Proc.new { |q, method|
              if block.arity == 1
                block.call(q)
              else
                queue = find_queue(method.queue)
                block.call(queue, method.consumer_count, method.message_count)
              end
            }
                    Queue.new(self, name, opts, &shim)
                  end

          register_queue(queue)
        end