public function getNodeLabelGenerator()
    {
        $this->initialize();

        if ($this->nodeLabelGenerator === null) {
            if ($this->hasConfiguration('label.generatorClass')) {
                $nodeLabelGenerator = $this->objectManager->get($this->getConfiguration('label.generatorClass'));
            } elseif ($this->hasConfiguration('label') && is_string($this->getConfiguration('label'))) {
                $nodeLabelGenerator = $this->objectManager->get(ExpressionBasedNodeLabelGenerator::class);
                $nodeLabelGenerator->setExpression($this->getConfiguration('label'));
            } else {
                $nodeLabelGenerator = $this->objectManager->get(NodeLabelGeneratorInterface::class);
            }

            $this->nodeLabelGenerator = $nodeLabelGenerator;
        }

        return $this->nodeLabelGenerator;
    }