    # File lib/memcache.rb, line 253
      def get_some(keys, opts = {})
        keys = keys.collect {|key| key.to_s}
        records = opts[:disable] ? {} : self.multi_get(keys, opts)
        if opts[:validation]
          records.delete_if do |key, value|
            not opts[:validation].call(key, value)
          end
        end

        keys_to_fetch = keys - records.keys
        method = opts[:overwrite] ? :set : :add
        if keys_to_fetch.any?
          yield(keys_to_fetch).each do |key, value|
            begin
              self.send(method, key, value, opts) unless opts[:disable] or opts[:disable_write]
            rescue Memcache::Error => e
              raise if opts[:strict_write]
              $stderr.puts "Memcache error in get_some: #{e.class} #{e.to_s} on key '#{key}' while storing value: #{value}"
            end
            records[key] = value
          end
        end
        records
      end