/**
  * @since       1.0.0
  */
 public function onFieldsandfiltersPrepareElementFields($context, $item, $isNew, $state)
 {
     if ($isNew) {
         return true;
     }
     if ($context == 'com_fieldsandfilters.field' && isset($item->type) && $item->type == $this->_name) {
         if (!empty($item->values->data) && !is_object($item->values->data)) {
             $_data = new JRegistry($item->values->data);
             $_data = new JObject($_data->toObject());
             $item->values = $_data;
         }
     } elseif ($context == 'com_fieldsandfilters.element') {
         $data = $item->get('fields', new JObject())->get('data', new JObject());
         $fields = FieldsandfiltersFieldsHelper::getFieldsByTypeIDColumnFieldType($item->get('content_type_id'))->get($this->_name);
         if ($fields) {
             $fields = is_array($fields) ? $fields : array($fields);
             while ($field = array_shift($fields)) {
                 $_data = $data->get($field->id, '');
                 if (empty($_data) || is_object($_data)) {
                     continue;
                 }
                 $_data = new JRegistry($_data);
                 $_data = new JObject($_data->toObject());
                 $data->set($field->id, $_data);
             }
         }
     }
     return true;
 }