/**
* Internal convenience method to the generating method and to extract the values from the filter rule..
*
* @param CustomSql $instance The instance.
*
* @param array $filterUrl The filter url to process.
*
* @return mixed
*/
protected function generateSql($instance, $filterUrl = array())
{
$filter = new Filter($instance->getMetaModel());
$instance->prepareRules($filter, $filterUrl);
$reflection = new \ReflectionProperty($filter, 'arrFilterRules');
$reflection->setAccessible(true);
$rules = $reflection->getValue($filter);
$reflection = new \ReflectionProperty('MetaModels\\Filter\\Rules\\SimpleQuery', 'strQueryString');
$reflection->setAccessible(true);
$sql = $reflection->getValue($rules[0]);
$reflection = new \ReflectionProperty('MetaModels\\Filter\\Rules\\SimpleQuery', 'arrParams');
$reflection->setAccessible(true);
$params = $reflection->getValue($rules[0]);
return array('sql' => $sql, 'params' => $params);
}