public function setSearchControlValues($controlValues = [], $rememberPrevious = false)
    {
        if ($rememberPrevious){
            $this->previousSearchValues = $this->model->searchValues;
        } else {
            if ($this->previousSearchValues)   {
                $this->model->searchValues = $this->previousSearchValues;
                $this->previousSearchValues = null;
                return;
            }
        }

        $controlValues = array_merge($this->defaultControlValues, $controlValues);

        foreach ($this->model->searchControls as $control) {
            $controlName = $control->getName();

            if (isset($controlValues[$controlName])) {
                $this->model->searchValues[$controlName] = $controlValues[$controlName];
            }
        }

        $this->reRender();

        $this->searchedEvent->raise();
    }