/**
  * @return array|null
  */
 protected function getDerivedAttributesData()
 {
     if ($this->derivedAttributesData == null) {
         $attributes = array();
         $calculatedAttributes = CalculatedDerivedAttributeMetadata::getAllByModelClassName(get_class($this->model));
         foreach ($calculatedAttributes as $attribute) {
             $attributes[$attribute->name] = array('label' => $attribute->getLabelByLanguage(Yii::app()->language), 'derivedAttributeType' => 'CalculatedNumber');
         }
         $this->derivedAttributesData = array_merge($attributes, $this->rules->getDerivedAttributeTypesData($this->model));
     }
     return $this->derivedAttributesData;
 }