public function __clone()
{
foreach ($this->sqlParts as $part => $elements) {
if (is_array($this->sqlParts[$part])) {
foreach ($this->sqlParts[$part] as $idx => $element) {
if (is_object($element)) {
$this->sqlParts[$part][$idx] = clone $element;
}
}
} elseif (is_object($elements)) {
$this->sqlParts[$part] = clone $elements;
}
}
foreach ($this->params as $name => $param) {
if (is_object($param)) {
$this->params[$name] = clone $param;
}
}
}