    # File lib/rack/utils.rb, line 179
        def build_nested_query(value, prefix = nil)
          case value
          when Array
            value.map { |v|
              build_nested_query(v, "#{prefix}[]")
            }.join("&")
          when Hash
            value.map { |k, v|
              build_nested_query(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k))
            }.reject(&:empty?).join('&')
          when nil
            prefix
          else
            raise ArgumentError, "value must be a Hash" if prefix.nil?
            "#{prefix}=#{escape(value)}"
          end
        end