# File lib/aws/simple_db/domain_collection.rb, line 76
      def each options = {}, &block

        total_limit = options[:limit]
        batch_size = options[:batch_size] || 100
        received = 0
        next_token = nil

        begin

          limit = total_limit ? 
            [total_limit - received, batch_size].min : 
            batch_size

          list_options = { :limit => limit }
          list_options[:next_token] = next_token if next_token
          list = client.list_domains(list_options)

          next_token = list.next_token
          received += list.domain_names.length

          list.domain_names.each do |name|
            yield(domain_named(name))
          end
        
        end while next_token and (total_limit.nil? or received < total_limit)
        nil
      end