# File lib/caesars/hash.rb, line 19
19:     def to_hash(hash=self)
20:       return hash unless hash.is_a?(Caesars::Hash) # nothing to do
21:       target = (Caesars::HASH_TYPE)[dup]
22:       hash.keys.each do |key|
23:         if hash[key].is_a? Caesars::Hash
24:           target[key] = hash[key].to_hash
25:           next
26:         elsif hash[key].is_a? Array
27:           target[key] = hash[key].collect { |h| to_hash(h) }  
28:           next
29:         end
30:         target[key] = hash[key]
31:       end
32:       target
33:     end