public function has(callable $callback) {
    $matches = [];
    foreach ($this->nodes as $node) {
      if ($node instanceof ParentNode && $node->has($callback)) {
        $matches[] = $node;
      }
    }
    return new NodeCollection($matches, FALSE);
  }