def with(selector)
            @selectors[selector] = Selector.new selector unless @selectors.has_key? selector
            yield @current_node if @selectors[selector].matches? @current_node, @filtered_nodes
        end
def with(selector)
            @selectors[selector] = Selector.new selector unless @selectors.has_key? selector
            yield @current_node if @selectors[selector].matches? @current_node, @filtered_nodes
        end
Specify what nodes to filter with a +selector+. If the +current_node+
 matches that selector, it is passed to the block to this +with+ method.

 @param selector [String] a selector string
 @yield [Node] the current node if it matches the selector