public function setProperties($propValues)
    {
        foreach ($propValues as $propName => $propValue) {
            if (property_exists($this, $propName)) {
                $this->{$propName} = $propValue;
            } else {
                $this->throwException('Property "%propName%" does not exist in class "%className%"', array(
                    '%propName%'  => $propName,
                    '%className%' => static::className(),
                ));
            }
        }
    }