public function get_custom_fields()
 {
     $xml = $this->make_request('subject_fields');
     $this->check_for_errors('Custom Fields');
     $xml_object = simplexml_load_string($xml);
     $fields = array();
     foreach ($xml_object->{'subject-field'} as $_field) {
         $field = new HighriseCustomField($this);
         $field->set_id($_field->id);
         $field->set_label($_field->label);
         $fields[(string) $_field->label] = $field;
     }
     return $fields;
 }
 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;
     }
 }