public function buildSPIFieldDefinitionCreate(APIFieldDefinitionCreateStruct $fieldDefinitionCreateStruct, SPIFieldType $fieldType)
{
$spiFieldDefinition = new SPIFieldDefinition(array('id' => null, 'identifier' => $fieldDefinitionCreateStruct->identifier, 'fieldType' => $fieldDefinitionCreateStruct->fieldTypeIdentifier, 'name' => $fieldDefinitionCreateStruct->names === null ? array() : $fieldDefinitionCreateStruct->names, 'description' => $fieldDefinitionCreateStruct->descriptions === null ? array() : $fieldDefinitionCreateStruct->descriptions, 'fieldGroup' => $fieldDefinitionCreateStruct->fieldGroup === null ? '' : $fieldDefinitionCreateStruct->fieldGroup, 'position' => (int) $fieldDefinitionCreateStruct->position, 'isTranslatable' => $fieldDefinitionCreateStruct->isTranslatable === null ? true : $fieldDefinitionCreateStruct->isTranslatable, 'isRequired' => $fieldDefinitionCreateStruct->isRequired === null ? false : $fieldDefinitionCreateStruct->isRequired, 'isInfoCollector' => $fieldDefinitionCreateStruct->isInfoCollector === null ? false : $fieldDefinitionCreateStruct->isInfoCollector, 'isSearchable' => $fieldDefinitionCreateStruct->isSearchable === null ? $fieldType->isSearchable() : $fieldDefinitionCreateStruct->isSearchable));
$spiFieldDefinition->fieldTypeConstraints->validators = $fieldDefinitionCreateStruct->validatorConfiguration;
$spiFieldDefinition->fieldTypeConstraints->fieldSettings = $fieldDefinitionCreateStruct->fieldSettings;
$spiFieldDefinition->defaultValue = $fieldType->toPersistenceValue($fieldType->acceptValue($fieldDefinitionCreateStruct->defaultValue));
return $spiFieldDefinition;
}