# File lib/merb-core/test/helpers/multipart_request_helper.rb, line 61
    def push_params(params, prefix = nil)
      params.sort_by {|k| k.to_s}.each do |key, value|
        param_key = prefix.nil? ? key : "#{prefix}[#{key}]"
        if value.respond_to?(:read)
          @multipart_params << FileParam.new(param_key, value.path, value.read)
        else
          if value.is_a?(Hash) || value.is_a?(Mash)
            push_params(value, param_key)
          elsif value.is_a?(Array)
            value.each { |v| push_params(v, "#{param_key}[]") }
          else
            @multipart_params << Param.new(param_key, value)
          end
        end
      end
    end