protected function _generateChildrenOf($node) { $result = []; if (!$this->_nodeIsCompleteSolution($node)) { $newPointSequences = $this->_generateNestedPointSequences($node); foreach ($newPointSequences as $newPointSequence) { if ($this->canLoad($newPointSequence)) { $path = new Path(['points' => $newPointSequence]); $newNode = new Node(['content' => $path]); $newNode->setOptimisticBound($this->getEvaluator()->getBound($path, Evaluator::BOUND_TYPE_OPTIMISTIC)); $result[] = $newNode; } } } return $result; }