def METHOD_NAME(self, request=None):
    """Tries to get a default language version for a current context (from
    a given request, then a current thread and then from the settings). If
    none matching version could be found, just return any.
    """
    languages = [get_language_from_request(request)] if request is not None else []
    languages += [get_language(), settings.LANGUAGE_CODE]
    for lang in languages:
        try:
            return self.language_versions.get(language=lang)
        except NodeLanguageVersion.DoesNotExist:
            pass
    return self.language_versions.first()