# File lib/sdb/right_sdb_interface.rb, line 224
        def list_domains(max_number_of_domains = nil, next_token = nil )
            request_params = { 'MaxNumberOfDomains' => max_number_of_domains,
                               'NextToken'          => next_token }
            link   = generate_request("ListDomains", request_params)
            result = request_info(link, QSdbListDomainParser.new)
            # return result if no block given
            return result unless block_given?
            # loop if block if given
            begin
                # the block must return true if it wanna continue
                break unless yield(result) && result[:next_token]
                # make new request
                request_params['NextToken'] = result[:next_token]
                link   = generate_request("ListDomains", request_params)
                result = request_info(link, QSdbListDomainParser.new)
            end while true
        rescue Exception
            on_exception
        end