public function pickUpTranslation(
        Project $project,
        array $languages,
        array $domains,
        bool $revision
    ) : ? Translation {
        $repositories = $project
            ->getRepositories(
                $domains,
                $languages
            );

        $translations = array_reduce(
            $repositories,
            function (Repository $repository) use ($revision) {
                $translations = $repository->getTranslations();

                return array_filter(
                    $translations,
                    function (Translation $translation) use ($revision) {
                        return $revision === ($translation->getValue() == '');
                    }
                );
            }
        );

        $position = array_rand($translations);

        return $translations[$position];
    }