private function discoverLanguage($nb_language) : CNabuLanguage
    {
        if (!($nb_language instanceof CNabuLanguage)) {
            $nb_language = new CNabuLanguage(nb_getMixedValue($nb_language, NABU_LANG_FIELD_ID));
        }

        if (!($nb_language instanceof CNabuLanguage) || $nb_language->isNew()) {
            throw new ENabuCoreException(ENabuCoreException::ERROR_LANGUAGE_REQUIRED);
        }

        return $nb_language;
    }