private function _duplicate($from_field_id, $to_field_id, $by_reference)
 {
     //duplicate users info, if any
     $dao = new Tracker_FormElement_Field_List_Bind_UsersDao();
     $dao->duplicate($from_field_id, $to_field_id);
     //duplicate Static info, if any
     $dao = new Tracker_FormElement_Field_List_Bind_StaticDao();
     $dao->duplicate($from_field_id, $to_field_id);
     $value_mapping = array();
     //duplicate Static value, if any
     $dao = new Tracker_FormElement_Field_List_Bind_Static_ValueDao();
     foreach ($dao->searchByFieldId($from_field_id, 0) as $row) {
         if ($id = $dao->duplicate($row['id'], $to_field_id, $by_reference)) {
             $value_mapping[$row['id']] = $id;
         }
     }
     //duplicate Ugroups value, if any
     $dao = $this->getUgroupsValueDao();
     foreach ($dao->searchByFieldId($from_field_id) as $row) {
         if ($id = $dao->duplicate($row['id'], $to_field_id)) {
             $value_mapping[$row['id']] = $id;
         }
     }
     $dao = new Tracker_FormElement_Field_List_Bind_DefaultvalueDao();
     $dao->duplicate($from_field_id, $to_field_id, $value_mapping);
     $dao = new Tracker_FormElement_Field_List_BindDecoratorDao();
     $dao->duplicate($from_field_id, $to_field_id, $value_mapping);
     return $value_mapping;
 }
 /**
  * Saves a bind in the database
  *
  * @return void
  */
 public function saveObject()
 {
     if (is_array($this->default_values)) {
         $t = array();
         foreach ($this->default_values as $value) {
             $t[$value->getId()] = $value;
         }
         $this->default_values = $t;
         if (count($this->default_values)) {
             $dao = new Tracker_FormElement_Field_List_Bind_DefaultvalueDao();
             $dao->save($this->field->getId(), array_keys($this->default_values));
         }
     }
     if (is_array($this->decorators) && !empty($this->decorators)) {
         $values = $this->getBindValues();
         foreach ($this->decorators as $decorator) {
             $hexacolor = Tracker_FormElement_Field_List_BindDecorator::toHexa($decorator->r, $decorator->g, $decorator->b);
             Tracker_FormElement_Field_List_BindDecorator::save($this->field->getId(), $values[$decorator->value_id]->getId(), $hexacolor);
         }
     }
 }