def method_missing(name, *args)
      if self[0].respond_to?(name)
        self.inject(QueryResult.new) do |memo, node|
          ret = node.send(name, *args)
          memo << ret if ret
          memo
        end
      else
        super
      end
    end
def method_missing(name, *args)
      if self[0].respond_to?(name)
        self.inject(QueryResult.new) do |memo, node|
          ret = node.send(name, *args)
          memo << ret if ret
          memo
        end
      else
        super
      end
    end
To facilitate the management of what could be many nodes found by a single query,
 we forward off any unknown methods to each node in the results query.
 We assume that if one node accepts the method, then all of them will.