# File lib/amqp/channel.rb, line 445
    def topic(name = 'amq.topic', opts = {}, &block)
      if exchange = self.exchanges.find { |exchange| exchange.name == name }
        extended_opts = Exchange.add_default_options(:topic, name, opts, block)

        validate_parameters_match!(exchange, extended_opts)

        exchange
      else
        self.exchanges << Exchange.new(self, :topic, name, opts, &block)
      end
    end