protected function generate_op_regroup($details, &$body)
{
$body->comment("Temporary sorting");
$array = $this->get_filtered_var($details['array'], $varname);
if (Haanga_AST::is_exec($array)) {
$varname = hvar($details['as']);
$body->decl($varname, $array);
}
$var = hvar('item', $details['row']);
$body->decl('temp_group', array());
$body->do_foreach($varname, 'item', NULL, hcode()->decl(hvar('temp_group', $var, NULL), hvar('item')));
$body->comment("Proper format");
$body->decl($details['as'], array());
$body->do_foreach('temp_group', 'item', 'group', hcode()->decl(hvar($details['as'], NULL), array("grouper" => hvar('group'), "list" => hvar('item'))));
$body->comment("Sorting done");
}