public function filter($selector) { $callback = $this->getSelectorCallback($selector); $result = $this->spawn(); foreach ($this->_nodes as $index => $node) { if ($callback($node, $index)) { $result->push($node); } } return $result; }