public function getExtraQuestionsDataPerPage(ClientSurvey $client_survey, string $locale): Collection 	{ 		$extra_questions_data = collect(); 		$applicant_ids = $client_survey->applicants->pluck('id')->all(); 		$max_rows_per_page = 20; 		$total_row_height = 0; 		$row_height = 24; 		$page_row_counter = 0;  		$extra_questions = $client_survey->extraQuestions()->whereIn('type', QuestionType::izzQuestionTypes())->orderBy('ordering')->with(['answers' => function ($query) use ($applicant_ids) { 			$query->whereIn('applicant_id', $applicant_ids)->with('question'); 		}])->has('answers')->orderBy('type')->get();  		$extra_questions->each(function (Question $question, int $key) use (&$extra_questions_data, &$client_survey, &$locale, &$total_row_height, &$row_height, &$page_row_counter) { 			$page_row_height = $this->getNumberOfRowsForExtraQuestions($question); 			$total_row_height += $page_row_height; 			$answers = $question->answers->where('client_survey_id', $client_survey->getKey());  			$question_answer_rows = $page_row_height / $row_height; 			$question_answer_rows++; 			$page_row_counter += $question_answer_rows;  			$extra_questions_data->push([ 				'id' => $question->id, 				'type' => $question->type, 				'title' => $question->getTranslation('title', $locale), 				'code' => $question->code, 				'count_answers' => $this->countAnswersForQuestion($client_survey, $question->answers), 				'answers' => $answers, 				'question_answer_rows' => ceil($question_answer_rows), 				'answers_next_page' => false, 				'available_answers' => $question->getTranslation('available_answers', $locale), 			]); 		});  		return $extra_questions_data; 	}