def deep_copy
      address = Address.new(
        _deep_copy_array(@path_fragments),
        _deep_copy_array(@query_vars),
        _deep_copy_hash(@headers),
        @path_params.dup,
        @query_params.dup,
        @header_params.dup
      )

      @auth.each { |header, value| address.auth(header, value) }

      address
    end
def deep_copy
      address = Address.new(
        _deep_copy_array(@path_fragments),
        _deep_copy_array(@query_vars),
        _deep_copy_hash(@headers),
        @path_params.dup,
        @query_params.dup,
        @header_params.dup
      )

      @auth.each { |header, value| address.auth(header, value) }

      address
    end
Perform a deep copy.