public function getFilters(Request $request, $overrideFilters = array(), $ignoreSession = false)
    {
        if ($ignoreSession) {
            return array_replace(
                $this->getFiltersFromRequest($request),
                $overrideFilters
            );
        }

        $filters = array_replace(
            $this->getFiltersFromSession($request->getSession()),
            $this->getFiltersFromRequest($request),
            $overrideFilters
        );

        $this->saveFilters($request->getSession(), $filters);
        return $filters;
    }