# File lib/action_controller/vendor/html-scanner/html/selector.rb, line 471 def select_first(root) stack = [root] while node = stack.pop if node.tag? && subset = match(node, true) return subset.first if !subset.empty? elsif children = node.children stack.concat children.reverse end end nil end