class EacRubyUtils::PathsHash::Node

def read_entry(path, current)

def read_entry(path, current)
  validate_path(path, current)
  node_key = path.shift
  node = data[node_key]
  return (node.is_a?(Node) ? node.to_h : node) if path.empty?
  return nil if node.blank?
  return node.read_entry(path, current + [node_key]) if node.is_a?(Node)
  raise(EntryKeyError,
        "Path #{current.join(',')} is not a Node and path continues (#{current + path})")
end