private function getSiblingNodes(Competency $startNode, Competency $parent, array $related) { return array_filter($related, function ($node) use($startNode, $parent) { return $node !== $startNode && $node->getLevel() === $startNode->getLevel() && $node->getLeft() > $parent->getLeft() && $node->getRight() < $parent->getRight(); }); }