def copy_recursive
      copy = Hash.new
      keys.each do |k|
        value = self[k]
        copy[k] = Hash === value ? value.copy_recursive : value
      end
      copy
    end
def copy_recursive
      copy = Hash.new
      keys.each do |k|
        value = self[k]
        copy[k] = Hash === value ? value.copy_recursive : value
      end
      copy
    end
Returns a new Hash that recursively copies this hash's values. Values of type hash are copied using copy_recursive.
 Other values are unchanged.

 This method is useful for preserving and restoring hash associations.

 @return [Hash] a deep copy of this Hasher