public function unassign($role, UserInterface $user)
    {
        $roles = is_array($role) ? $role : [ $role ];

        $count = 0;

        foreach ($roles as $singleRole) {
            $count += $this->unassignSingleRole($singleRole, $user) ? 1 : 0;
        }

        if ($count !== count($roles)) {
            // @codeCoverageIgnoreStart
            return false;
            // @codeCoverageIgnoreEnd
        }

        $this->fireUserPermissionChangeEvent($user);
        return true;
    }