protected function __descendantOf($elements, $value)
{
$this->_descendant = $value;
if (!$value) {
return $elements;
}
$newElements = [];
$found = false;
foreach ($elements as $element) {
if ($element === $value) {
$found = true;
} else {
if ($found) {
if ($element->level > $value->level) {
$newElements[] = $element;
} else {
break;
}
}
}
}
return $newElements;
}