The apply_able(ability, queryset, request) applies the ability
        to the instance set determined by the queryset for the user requesting the request.

        This call is passed to the resolved or default plugin if the plugin is
        found and the method named apply_<ability> is found in the plugin, and returns
        a value returned by the found plugin method.

        A queryset restricted by only allowed objects assumed to be returned by the plugin.

        Standard `visible`, `changeable`, and `deleteable` abilities are requested
        by the admin.

def apply_able(self, ability, queryset, request):
        '''
        The apply_able(ability, queryset, request) applies the ability
        to the instance set determined by the queryset for the user requesting the request.

        This call is passed to the resolved or default plugin if the plugin is
        found and the method named apply_<ability> is found in the plugin, and returns
        a value returned by the found plugin method.

        A queryset restricted by only allowed objects assumed to be returned by the plugin.

        Standard `visible`, `changeable`, and `deleteable` abilities are requested
        by the admin.
        '''
        p = self.plugin_for(queryset.model)
        if not hasattr(p, 'apply_%s' % ability):
            p = self.get_default_plugin()
        if not hasattr(p, 'apply_%s' % ability):
            logger.debug("Appy ability %s not found for %s", ability, queryset.model)
            return queryset
        logger.debug("Apply ability %s is checking for %s", ability, queryset.model)
        m = getattr(p, 'apply_%s' % ability)
        return m(queryset, request)