function populate(int $procedure_id, &$procedure)
 {
     if ($procedure == null) {
         $procedure = new controller_procedure((int) $procedure_id);
         $procedure->set_title($this->unmarshal($this->db->f('title'), 'string'));
         $procedure->set_purpose($this->unmarshal($this->db->f('purpose'), 'string'));
         $procedure->set_responsibility($this->unmarshal($this->db->f('responsibility'), 'string'));
         $procedure->set_description($this->unmarshal($this->db->f('description'), 'string'));
         $procedure->set_reference($this->unmarshal($this->db->f('reference'), 'string'));
         $procedure->set_attachment($this->unmarshal($this->db->f('attachment'), 'string'));
         $procedure->set_start_date($this->unmarshal($this->db->f('start_date'), 'int'));
         $procedure->set_end_date($this->unmarshal($this->db->f('end_date'), 'int'));
         $procedure->set_procedure_id($this->unmarshal($this->db->f('procedure_id'), 'int'));
         $procedure->set_revision_no($this->unmarshal($this->db->f('revision_no'), 'int'));
         $procedure->set_revision_date($this->unmarshal($this->db->f('revision_date'), 'int'));
         $procedure->set_control_area_id($this->unmarshal($this->db->f('control_area_id', 'int')));
         //$procedure->set_control_area_name($this->unmarshal($this->db->f('control_area_name', 'string')));
         $category = execMethod('phpgwapi.categories.return_single', $this->unmarshal($this->db->f('control_area_id', 'int')));
         $procedure->set_control_area_name($category[0]['name']);
     }
     return $procedure;
 }