class JMESPath::Nodes::MultiSelectHash

def initialize(kv_pairs)

def initialize(kv_pairs)
  @kv_pairs = kv_pairs
end

def optimize

def optimize
  self.class.new(@kv_pairs.map(&:optimize))
end

def visit(value)

def visit(value)
  if value.nil?
    nil
  else
    @kv_pairs.each_with_object({}) do |pair, hash|
      hash[pair.key] = pair.value.visit(value)
    end
  end
end