# File lib/html/selector.rb, line 468
468:     def select_first(root)
469:       stack = [root]
470:       while node = stack.pop
471:         if node.tag? && subset = match(node, true)
472:           return subset.first if !subset.empty?
473:         elsif children = node.children
474:           stack.concat children.reverse
475:         end
476:       end
477:       nil
478:     end