protected function revokeFailedAssignment(Assignment $assignment)
    {
        if ($assignment->failedAt === null) {
            return false;
        }
        if (strtotime($assignment->failedAt) < strtotime(gmdate('Y-m-d H:i:s'))) {
            $role = $this->getRole($assignment->roleName);
            if (!$role) {
                return true;
            }
            $this->revoke($role->name, $assignment->userGuid);
            return true;
        }
        return false;
    }