<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def can(self, permission, obj, **kwargs):
 """Check if we can do something with an object. :param permission: The permission to look for. :param obj: The object to check the ACL of. :param **kwargs: The context to pass to predicates. """


        context = {'user': current_user}
        for func in self.context_processors:
            context.update(func())
        context.update(get_object_context(obj))
        context.update(kwargs)
        return check(permission, iter_object_acl(obj), **context)