/**
  * @param FieldTypeInterface        $data
  * @param string                    $type
  * @param FormInterface             $form
  */
 protected function addDefaultValueField(FieldTypeInterface $data, $type, FormInterface $form)
 {
     if ($form->has('default_value')) {
         $form->remove('default_value');
     }
     if (is_null($type) || !array_key_exists($type, $this->options)) {
         return;
     }
     if ($data->getType() !== $type) {
         $data->setDefaultValue(null);
     }
     if (isset($this->options[$type]['default_value'])) {
         $defaultValueField = $this->options[$type]['default_value'];
         $defaultOption = isset($defaultValueField['options']) ? $defaultValueField['options'] : array();
         $form->add('default_value', $defaultValueField['type'], $defaultOption);
     }
 }