# File htree/traverse.rb, line 119 def filter_with_path(path, &block) return self if self.empty_element? children = [] self.each_with_path(path) {|c, child_path| if yield c, child_path if Elem === c children << c.filter_with_path(child_path, &block) else children << c end end } Elem.new!(@stag, children, @etag) end