public function delete()
 {
     // Delete setting on all definitions
     foreach (srCertificateDefinition::where(array('type_id' => $this->getTypeId()))->get() as $definition) {
         /** @var srCertificateDefinition $setting */
         $setting = srCertificateCustomDefinitionSetting::where(array('definition_id' => $definition->getId(), 'identifier' => $this->getIdentifier()))->first();
         if ($setting) {
             $setting->delete();
         }
     }
     parent::delete();
 }
 /**
  * @return array srCertificateCustomDefinitionSetting[]
  */
 public function getCustomSettings()
 {
     if (is_null($this->custom_settings)) {
         $this->custom_settings = srCertificateCustomDefinitionSetting::where(array('definition_id' => $this->getId()))->get();
     }
     return $this->custom_settings;
 }