    # 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