public function duplicate($new_name)
 {
     $id = parent::duplicate($new_name);
     if (-1 == $id) {
         return $id;
     }
     require_once NELIOAB_MODELS_DIR . '/experiments-manager.php';
     /** @var NelioABPostAlternativeExperiment $exp */
     $exp = NelioABExperimentsManager::get_experiment_by_id($id, $this->get_type());
     $alts = 0;
     foreach ($exp->get_alternatives() as $alt) {
         /** @var NelioABAlternative $alt */
         $new_id = $exp->create_alternative_copying_content($alt->get_name(), $alt->get_value());
         if ($new_id) {
             $alt->set_value($new_id);
             $alt->mark_as_dirty();
             ++$alts;
         } else {
             $alt->mark_as_removed();
             $alt->mark_as_dirty();
         }
     }
     if (0 == $alts) {
         $exp->set_status(NelioABExperiment::STATUS_DRAFT);
     }
     $exp->save();
     return $exp->get_id();
 }