public function Update($aValues, $aUpdatedFields)
 {
     if (in_array('query', $aUpdatedFields)) {
         try {
             $sCurrQuery = $aValues['query'];
             $oCurrSearch = $this->oModelReflection->GetQuery($sCurrQuery);
             $sCurrClass = $oCurrSearch->GetClass();
             $sPrevQuery = $this->aProperties['query'];
             $oPrevSearch = $this->oModelReflection->GetQuery($sPrevQuery);
             $sPrevClass = $oPrevSearch->GetClass();
             if ($sCurrClass != $sPrevClass) {
                 $this->bFormRedrawNeeded = true;
                 // wrong but not necessary - unset($aUpdatedFields['group_by']);
                 $this->aProperties['group_by'] = '';
                 $this->aProperties['values'] = array();
             }
         } catch (Exception $e) {
             $this->bFormRedrawNeeded = true;
         }
     }
     if (in_array('group_by', $aUpdatedFields)) {
         $this->bFormRedrawNeeded = true;
         $this->aProperties['values'] = array();
     }
     return parent::Update($aValues, $aUpdatedFields);
 }