protected function createConfiguration($dataType)
{
if (!isset($this->generatedPropertyMappingConfigurations[$dataType])) {
$propertyMappingConfiguration = new PropertyMappingConfiguration();
$propertyMappingConfiguration->allowAllProperties();
$parsedType = ['elementType' => null, 'type' => $dataType];
// Special handling for "reference(s)", should be deprecated and normlized to array<NodeInterface>
if ($dataType !== 'references' && $dataType !== 'reference') {
$parsedType = TypeHandling::parseType($dataType);
}
if ($this->setTypeConverterForType($propertyMappingConfiguration, $dataType) === false) {
$this->setTypeConverterForType($propertyMappingConfiguration, $parsedType['type']);
}
$elementConfiguration = $propertyMappingConfiguration->forProperty('*');
$this->setTypeConverterForType($elementConfiguration, $parsedType['elementType']);
$this->generatedPropertyMappingConfigurations[$dataType] = $propertyMappingConfiguration;
}
return $this->generatedPropertyMappingConfigurations[$dataType];
}