public function add_custom_field($field, $value = false)
 {
     if (!$field instanceof HighriseCustomField) {
         throw new \Exception('$field must be an instant of HighriseCustomField');
     }
     if (!isset($this->custom_fields[$field->get_subject_field_id()])) {
         $this->custom_fields[$field->get_subject_field_id()] = $field;
         $this->original_custom_fields[$field->get_subject_field_id()] = 1;
         if ($value) {
             $this->custom_fields[$field->get_subject_field_id()]->set_value($value);
         }
     } else {
         $custom_field = new HighriseCustomField($this->highrise);
         $custom_field->set_value($field);
         $this->custom_fields[$field->get_subject_field_id()] = $custom_field;
     }
 }