public function calculate(array $applicants, Collection $demographicQuestions): DemographicDataObject 	{ 		$result = new Collection; 		$total = null; 		$questionId = null;  		foreach ($this->getMetaData() as $index => $single) { 			if ($index == 'code') { 				$questionId = $demographicQuestions->firstWhere('code', $single)?->getKey();  				if ($questionId) { 					$result = $this->fetchAnswers($applicants, $questionId);  					$total = $result->last()?->answer_value_count; 				} 			}  			if ($index != 'code') { 				if ($total) { 					$this->dataObject->{'set' . $index . 'Ids'}($this->pullApplicantIds($applicants, $questionId, $single));  					$this->dataObject->{'set' . $index}(round(($result->firstWhere('value', $single)?->answer_value_count / $total) * 100)); 				} 			} 		}  		return $this->dataObject; 	}