public function mergeParams(array $params)
{
foreach ($params as $key => $value) {
if (property_exists($this, $key)) {
$methodName = 'merge' . ucfirst($key);
if (method_exists($this, $methodName)) {
call_user_func([$this, $methodName], $value);
}
}
throw new \Exception("Property [{$key}] does not exits.", 1);
}
return $this;
}