public function setUpBestAndWorstOverallGradedQuestionsByGender(Collection $applicants, string $locale): void 	{ 		$exportBaPublicReportService = new ExportBaPublicReportService($this->ppiSurvey, $locale);  		$questions = $this->baSurvey->survey->questions->where('type', QuestionType::PpiStandardRadio->value);  		$gradingBasedOnDemographyDto = new GradingBasedOnDemographyDto;  		$questionsGraded = $exportBaPublicReportService->getQuestionDataForGradingBasedOnDemography($questions, $applicants)->sortBy('average', descending: true);  		$gradingBasedOnDemographyDto->setBestQuestionsTitles($questionsGraded->take(4)->pluck('title')); 		$gradingBasedOnDemographyDto->setWorstQuestionsTitles($questionsGraded->reverse()->take(4)->pluck('title'));  		$bestGradedQuestionIds = $questionsGraded->take(4)->pluck('question_id')->all(); 		$worstGradedQuestionIds = $questionsGraded->reverse()->take(4)->pluck('question_id')->all();  		$demographicQuestion = $this->ppiSurvey->demographicQuestions->where('code', 'ppi-gender')->first(); 		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$bestGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setBestOverallGradedQuestionsDataDividedByGender($demographicDataFilteredCollection);  		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$worstGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setWorstOverallGradedQuestionsDataDividedByGender($demographicDataFilteredCollection);  		$demographicQuestion = $this->ppiSurvey->demographicQuestions->where('code', 'ppi-qualifications')->first(); 		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$bestGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setBestOverallGradedQuestionsDataDividedByQualifications($demographicDataFilteredCollection);  		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$worstGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setWorstOverallGradedQuestionsDataDividedByQualifications($demographicDataFilteredCollection);  		$demographicQuestion = $this->ppiSurvey->demographicQuestions->where('code', 'ppi-region')->first(); 		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$bestGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setBestOverallGradedQuestionsDataDividedByRegion($demographicDataFilteredCollection);  		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$worstGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setWorstOverallGradedQuestionsDataDividedByRegion($demographicDataFilteredCollection);  		$demographicQuestion = $this->ppiSurvey->demographicQuestions->where('code', 'ppi-age')->first(); 		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$bestGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setBestOverallGradedQuestionsDataDividedByAge($demographicDataFilteredCollection);  		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$worstGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setWorstOverallGradedQuestionsDataDividedByAge($demographicDataFilteredCollection);  		$demographicQuestion = $this->ppiSurvey->demographicQuestions->where('code', 'ppi-working-status')->first(); 		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$bestGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setBestOverallGradedQuestionsDataDividedByWorkingStatus($demographicDataFilteredCollection);  		$demographicDataFilteredCollection = $this->getFilteredDemographicDataCollection( 			$demographicQuestion, 			$applicants, 			$questions, 			$exportBaPublicReportService, 			$worstGradedQuestionIds, 			$locale 		);  		$gradingBasedOnDemographyDto->setWorstOverallGradedQuestionsDataDividedByWorkingStatus($demographicDataFilteredCollection);  		$this->baReportDataObject->setGradingBasedOnDemographyDto($gradingBasedOnDemographyDto); 	}