# File lib/nested_multimap.rb, line 18
  def store(*args)
    keys  = args
    value = args.pop

    raise ArgumentError, 'wrong number of arguments (1 for 2)' unless value

    if keys.length > 1
      update_container(keys.shift) do |container|
        container = self.class.new(container) unless container.is_a?(self.class)
        container[*keys] = value
        container
      end
    elsif keys.length == 1
      super(keys.first, value)
    else
      self << value
    end
  end