'Returns the set of Django group names that this user belongs to by
virtue of LDAP group memberships.'

def get_group_names(self):

    if (self._group_names is None):
        self._load_cached_attr('_group_names')
    if (self._group_names is None):
        group_infos = self._get_group_infos()
        self._group_names = set((self._group_type.group_name_from_info(group_info) for group_info in group_infos))
        self._cache_attr('_group_names')
    return self._group_names
