# File lib/Dnsruby/Resolver.rb, line 350
    def initialize(*args)
      # @TODO@ Should we allow :namesver to be an RRSet of NS records? Would then need to randomly order them?

      @resolver_ruby = nil
      @src_address = nil
      @single_res_mutex = Mutex.new
      @configured = false
      @config = Config.new()
      reset_attributes
      
      # Process args

      if (args.length==1)
        if (args[0].class == Hash)
          args[0].keys.each do |key|
            begin
              if (key == :config_info)
                @config.set_config_info(args[0][:config_info])
              elsif (key==:nameserver)
                set_config_nameserver(args[0][:nameserver])
              elsif (key==:nameservers)
                set_config_nameserver(args[0][:nameservers])
              else
                send(key.to_s+"=", args[0][key])
              end
            rescue Exception
              Dnsruby.log.error{"Argument #{key} not valid\n"}
            end
          end
        elsif (args[0].class == String)
          set_config_nameserver(args[0])          
        elsif (args[0].class == Config)
          # also accepts a Config object from Dnsruby::Resolv

          @config = args[0]
        end
      else
        # Anything to do?

      end
      #      if (@single_resolvers==[])

      #        add_config_nameservers

      #      end

      update
      #      ResolverRegister::register_resolver(self)

    end