public function reload($field = null) {
		$IDFIELD = static::getIDField();
		$options = array('where' => $IDFIELD . '=' . $this->$IDFIELD, 'output' => SQLAdapter::ARR_FIRST);
		if( $field ) {
			if( !in_array($field, static::$fields) ) {
				throw new FieldNotFoundException($field, static::getClass());
			}
			$i = array_search($this->modFields, $field);
			if( $i !== false ) {
				unset($this->modFields[$i]);
			}
			$options['what'] = $field;
		} else {
			$this->modFields = array();
		}
		try {
			$data = static::get($options);
		} catch( SQLException $e ) {
			$data = null;
		}
		if( empty($data) ) {
			$this->markAsDeleted();
			return false;
		}
		if( !is_null($field) ) {
			$this->data[$field] = $data[$field];
		} else {
			$this->data = $data;
		}
		return true;
	}