public function canGenerateComparativeReportByYear(ClientSurvey $client_survey, GetComparativeReportByYear $request, string $locale, array $filters_questions, array $locations, array $departments): void 	{ 		$number_of_filters = 0; 		$applicants_exists = $this->filterClientSurveyApplicants($client_survey, $request, $locations, $departments)->count() > 0 ? true : false;  		$this->comparativePdfService->canGenerateComparativeReport($client_survey, $applicants_exists, $locale); 		$comparable_group_exists = $this->checkIfComparableGroupAnswersExists($client_survey, $request, $locale);  		if ($comparable_group_exists['location_group_answers_exists'] || $comparable_group_exists['department_group_answers_exists']) { 			foreach ($filters_questions as $question_values) { 				$number_of_filters += count($question_values); 			} 		}  		if ($comparable_group_exists['question_group_answers_exists']) { 			$number_of_filters += $comparable_group_exists['location_group_answers_exists'] ? 0 : count($locations); 			$number_of_filters += $comparable_group_exists['department_group_answers_exists'] ? 0 : count($departments);  			$filtered_questions = collect($filters_questions)->filter(function ($value, $key) use ($comparable_group_exists) { 				return $key != $comparable_group_exists['question_id']; 			});  			$filtered_questions->each(function (array $question_values) use (&$number_of_filters) { 				$number_of_filters += collect($question_values)->count(); 			}); 		} else { 			$number_of_filters += $comparable_group_exists['location_group_answers_exists'] ? count($departments) : 0; 			$number_of_filters += $comparable_group_exists['department_group_answers_exists'] ? count($locations) : 0; 		}  		if ($number_of_filters < 2) { 			abort(422, (string) __('client-surveys.validation.comparative-report-by-year-not-available-for-report-generation')); 		} 	}