public function convertFrom($source, $targetType = null, array $subProperties = [], PropertyMappingConfigurationInterface $configuration = null)
    {
        $nodeTemplate = new NodeTemplate();
        $nodeType = $this->extractNodeType($targetType, $source);
        $nodeTemplate->setNodeType($nodeType);

        // we don't need a context or workspace for creating NodeTemplate objects, but in order to satisfy the method
        // signature of setNodeProperties(), we do need one:
        $context = $this->contextFactory->create($this->prepareContextProperties('live'));

        $this->setNodeProperties($nodeTemplate, $nodeTemplate->getNodeType(), $source, $context);
        return $nodeTemplate;
    }