public function create(
        Closure $performRequest,
        string $returnTypeClass,
        array $languages,
        bool $merge = false
    ) {
        $languageIdx = 0;
        $returnValue = null;
        $langLength  = sizeof($languages);
        do {
            $result = $performRequest($languages[$languageIdx]);
            $languageIdx++;
            if ($languageIdx > 0 && $merge) {
                $returnValue = $this->validator->merge($returnTypeClass, $returnValue, $result);
            } else {
                $returnValue = $result;
            }
        } while ($this->validator->isValid($returnTypeClass, $result) === false && $languageIdx < $langLength);
        return $returnValue;
    }