/**
  * @param FieldTypeInterface $fieldType
  *
  * @return FacadeInterface
  *
  * @throws TransformerParameterTypeException
  */
 public function transform($fieldType)
 {
     if (!$fieldType instanceof FieldTypeInterface) {
         throw new TransformerParameterTypeException();
     }
     $facade = $this->newFacade();
     $facade->fieldId = $fieldType->getFieldId();
     $facade->label = $this->multiLanguagesChoiceManagerInterface->choose($fieldType->getLabels());
     $facade->defaultValue = $fieldType->getDefaultValue();
     $facade->searchable = $fieldType->isSearchable();
     $facade->listable = $fieldType->getListable();
     $facade->type = $fieldType->getType();
     foreach ($fieldType->getOptions() as $option) {
         $value = $option->getValue();
         if (!is_string($value)) {
             $value = \serialize($value);
         }
         $facade->addOption($option->getKey(), $value);
     }
     return $facade;
 }