You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: utils.rb
    path of file: ./repos/stackneveroverflow/vendor/bundle/ruby/2.3.0/gems/rack-test-0.6.3/lib/rack/test
    
    the code of the file until where you have to start completion: module Rack
  module Test

    module Utils # :nodoc:
      include Rack::Utils

      def build_nested_query(value, prefix = nil)
        case value
        when Array
          value.map do |v|
            unless unescape(prefix) =~ /\[\]$/
              prefix = "#{prefix}[]"
            end
            build_nested_query(v, "#{prefix}")
          end.join("&")
        when Hash
          value.map do |k, v|
            build_nested_query
    
      def get_parts(parameters)
        parameters.map { |name, value|
          if name =~ /\[\]\Z/ && value.is_a?(Array) && value.all? {|v| v.is_a?(Hash)}
            value.map { |hash|
              new_value = {}
              hash.each { |k, v| new_value[name+k] = v }
              get_parts(new_value).join
            }.join
          else
            if value.respond_to?(:original_filename)
              build_file_part(name, value)

            elsif value.is_a?(Array) and value.all? { |v| v.respond_to?(:original_filename) }
              value.map do |v|
                build_file_part(name, v)
              end.join

            else
              primitive_part = build_primitive_part(name, value)
              Rack::Test.encoding_aware_strings? ? primitive_part.force_encoding('BINARY') : primitive_part
            end
          end