def make_indifferent(hash)
      case hash
        when Hash
          unless hash.frozen?
            hash.each do |k, v|
              hash[k] = make_indifferent(v)
            end
            hash = RConfig::Config.new.merge!(hash).freeze
          end
          logger.debug "make_indefferent: x = #{hash.inspect}:#{hash.class}"
        when Array
          unless hash.frozen?
            hash.collect! do |v|
              make_indifferent(v)
            end
            hash.freeze
          end
          # Freeze Strings.
        when String
          hash.freeze
        end
      hash
    end
def make_indifferent(hash)
      case hash
        when Hash
          unless hash.frozen?
            hash.each do |k, v|
              hash[k] = make_indifferent(v)
            end
            hash = RConfig::Config.new.merge!(hash).freeze
          end
          logger.debug "make_indefferent: x = #{hash.inspect}:#{hash.class}"
        when Array
          unless hash.frozen?
            hash.collect! do |v|
              make_indifferent(v)
            end
            hash.freeze
          end
          # Freeze Strings.
        when String
          hash.freeze
        end
      hash
    end
Recursively makes hashes into frozen IndifferentAccess Config Hash
 Arrays are also traversed and frozen.