public function populate(array $fieldDefinition, FieldModel $field, $fieldHandle, FieldGroupModel $group = null)
{
$field->name = $fieldDefinition['name'];
$field->handle = $fieldHandle;
$field->required = $fieldDefinition['required'];
$field->translatable = $fieldDefinition['translatable'];
$field->instructions = $fieldDefinition['instructions'];
$field->type = $fieldDefinition['type'];
$field->settings = $fieldDefinition['settings'];
if ($group) {
$field->groupId = $group->id;
}
if (isset($fieldDefinition['settings']['sources'])) {
$settings = $fieldDefinition['settings'];
$settings['sources'] = $this->getMappedSources($field->type, $settings['sources'], 'handle', 'id');
$field->settings = $settings;
}
if (isset($fieldDefinition['settings']['source'])) {
$settings = $fieldDefinition['settings'];
$settings['source'] = $this->getSource($field->type, $settings['source'], 'handle', 'id');
$field->settings = $settings;
}
}