public function createSingleNode($name, NodeType $nodeType = null, $identifier = null): NodeInterface
    {
        if ($nodeType !== null && !$this->willChildNodeBeAutoCreated($name) && !$this->isNodeTypeAllowedAsChildNode($nodeType)) {
            throw new NodeConstraintException('Cannot create new node "' . $name . '" of Type "' . $nodeType->getName() . '" in ' . $this->__toString(), 1400782413);
        }

        $dimensions = $this->context->getTargetDimensionValues();

        $nodeData = $this->nodeData->createSingleNodeData($name, $nodeType, $identifier, $this->context->getWorkspace(), $dimensions);
        $node = $this->nodeFactory->createFromNodeData($nodeData, $this->context);

        $this->context->getFirstLevelNodeCache()->flush();
        $this->emitNodeAdded($node);

        return $node;
    }