# File lib/xml/xpath.rb, line 3032
    def predicate
      context = @context
      size = @nodes.size
      pos = 1
      result = nil
      newnodes = @nodes.reject { |node|
        context.reuse node, pos, size
        pos += 1
        result = yield(context)
        break if result.is_a? Numeric
        not result
      }
      if result.is_a? Numeric then
        at result
      else
        @nodes = newnodes
      end
      self
    end