# File lib/map/params.rb, line 44
    def param_for(value, prefix = nil)
      case value
        when Array
          value.map { |v|
            param_for(v, "#{ prefix }[]")
          }.join("&")

        when Hash
          value.map { |k, v|
            param_for(v, prefix ? "#{ prefix }[#{ escape(k) }]" : escape(k))
          }.join("&")

        when String
          raise ArgumentError, "value must be a Hash" if prefix.nil?
          "#{ prefix }=#{ escape(value) }"

        else
          prefix
      end
    end