function &get($key)
{
if ($key == '_id') {
return $this->_id;
} elseif (array_key_exists($key, $this->fields)) {
return $this->fields[$key]['value'];
} elseif (array_key_exists($key, $this->adhoc)) {
return $this->adhoc[$key]['value'];
}
user_error(sprintf(self::E_Field, $key), E_USER_ERROR);
}