# File lib/inifile.rb, line 192
  def merge!( other )
    my_keys = @ini.keys
    other_keys =
        case other
        when IniFile; other.instance_variable_get(:@ini).keys
        when Hash; other.keys
        else raise "cannot merge contents from '#{other.class.name}'" end

    (my_keys & other_keys).each do |key|
      @ini[key].merge!(other[key])
    end

    (other_keys - my_keys).each do |key|
      @ini[key] = other[key]
    end

    self
  end