private function toQuery($query)
{
if ($query instanceof Doctrine\ORM\QueryBuilder) {
$query = $query->getQuery();
} elseif ($query instanceof Doctrine\ORM\NativeQuery) {
$query = new NativeQueryWrapper($query);
} elseif ($query instanceof NativeQueryBuilder) {
$query = $query->getQuery();
}
if (!$query instanceof Doctrine\ORM\AbstractQuery) {
throw new UnexpectedValueException("Method " . get_called_class() . "::doCreateQuery must return " . "instanceof Doctrine\\ORM\\Query or Kdyby\\Doctrine\\QueryBuilder, " . (is_object($query) ? 'instance of ' . get_class($query) : gettype($query)) . " given.");
}
return $query;
}