public function having($having, $type = CompositeExpression::TYPE_AND)
{
$args = func_get_args();
$having = $this->getPart('having');
if ($having instanceof CompositeExpression && $having->getType() === $type) {
$having->addMultiple($args);
} else {
array_unshift($args, $having);
$having = new CompositeExpression($type, $args);
}
return $this->setPart('having', $having);
}