    # File lib/amqp/channel.rb, line 380
        def direct(name = 'amq.direct', opts = {}, &block)
          if exchange = find_exchange(name)
            extended_opts = Exchange.add_default_options(:direct, name, opts, block)

            validate_parameters_match!(exchange, extended_opts, :exchange)

            block.call(exchange) if block
            exchange
          else
            register_exchange(Exchange.new(self, :direct, name, opts, &block))
          end
        end