public function passes($attribute, $value): bool 	{ 		preg_match('/(?<=extra_questions.)(.*)(?=.available_answers)/ui', $attribute, $match); 		$iteration = $match[0] ?? null; 		$questions_attribute_array = $this->extra_questions_array[$iteration]; 		$available_answers_array = $this->extra_questions_array[$iteration]['available_answers'] ?? [];  		if ((($questions_attribute_array['type'] === QuestionType::CustomRadio->value) || ($questions_attribute_array['type'] === QuestionType::Checkbox->value)) && empty($available_answers_array)) { 			$this->error_code = CustomRadioValidationErrors::MissingAnswers->value;  			return false; 		}  		if ((($questions_attribute_array['type'] !== QuestionType::CustomRadio->value) && ($questions_attribute_array['type'] !== QuestionType::Checkbox->value)) && !empty($available_answers_array)) { 			$this->error_code = CustomRadioValidationErrors::WrongQuestionType->value;  			return false; 		}  		$languages = DomainLanguages::cases();  		$passess = true; 		$counter = 0;  		foreach ($languages as $language) { 			if ($questions_attribute_array['title_' . $language->value] ?? null) { 				$counter++;  				if (!array_key_exists('available_answers_' . $language->value, $available_answers_array)) { 					$this->error_code = CustomRadioValidationErrors::MissingTranslations->value; 					$this->language_code = $language->value;  					$passess = false;  					break; 				} 			} 		}  		return $passess && (count($available_answers_array) === $counter); 	}