# File lib/openstack/swift/storage_object.rb, line 285
    def copy(object_name, container_name, headers = {})
      provided_headers = (headers[:metadata] || {}).inject({}){|res, (k,v)| ((k.to_s.match /^X-Object-Meta-/i) ? res[k.to_s]=v : res["X-Object-Meta-#{k.to_s}"]=v) ;res}
      provided_headers["content-type"] = headers[:content_type] unless headers[:content_type].nil?
      provided_headers["X-Copy-From"] = "/#{@containername}/#{@name}"
      provided_headers["content-length"] = "0"
      path = "/#{container_name}/#{object_name}"
      begin
        response = @container.swift.connection.req("PUT", URI.encode(path), {:headers=>provided_headers})
      rescue OpenStack::Exception::ItemNotFound => not_found
        msg = "Can't copy \"#{@name}\": No Object \"#{@name}\" found in Container \"#{@containername}\".  #{not_found.message}"
        raise OpenStack::Exception::ItemNotFound.new(msg, not_found.response_code, not_found.response_body)
      end
      OpenStack::Swift::StorageObject.new(@container.swift.container(container_name), object_name)
    end