class Magick::RVG::Content

def deep_copy(h = {})

def deep_copy(h = {})
    me = self.__id__
    copy = h[me]
    unless copy
        copy = self.class.new
        each do |c|
            copy << case
                when c.nil?
                    nil
                when c.respond_to?(:deep_copy)
                    c.deep_copy(h)
                when c.respond_to?(:dup)
                    c.dup rescue c
                else
                    c
                end
        end
        copy.freeze if frozen?
        h[me] = copy
    end
    return copy
end