def use(options)
      choices = []
      select = options[:order]
      if options[:brokers] && !options[:brokers].empty?
        options[:brokers].each do |identity|
          if choice = @brokers_hash[identity]
            choices << choice
          else
            logger.exception("Invalid broker identity #{identity.inspect}, check server configuration")
          end
        end
      else
        choices = @brokers
        select ||= @select
      end
      if select == :random
        choices.sort_by { rand }
      else
        choices
      end
    end
def use(options)
      choices = []
      select = options[:order]
      if options[:brokers] && !options[:brokers].empty?
        options[:brokers].each do |identity|
          if choice = @brokers_hash[identity]
            choices << choice
          else
            logger.exception("Invalid broker identity #{identity.inspect}, check server configuration")
          end
        end
      else
        choices = @brokers
        select ||= @select
      end
      if select == :random
        choices.sort_by { rand }
      else
        choices
      end
    end
Select the broker clients to be used in the desired order

 === Parameters
 options(Hash):: Selection options:
   :brokers(Array):: Identity of brokers selected for use, defaults to all brokers if nil or empty
   :order(Symbol):: Broker selection order: :random or :priority,
     defaults to @select if :brokers is nil, otherwise defaults to :priority

 === Return
 (Array):: Allowed BrokerClients in the order to be used