public function suspend($id)
    {
        try {
            $throttle = Credentials::getThrottleProvider()->findByUserId($id);
            $throttle->suspend();
        } catch (UserNotFoundException $e) {
            throw new NotFoundHttpException('User Not Found', $e);
        } catch (UserSuspendedException $e) {
            $time = $throttle->getSuspensionTime();

            return Redirect::route('users.suspend', ['users' => $id])->withInput()
                ->with('error', "This user is already suspended for $time minutes.");
        } catch (UserBannedException $e) {
            return Redirect::route('users.suspend', ['users' => $id])->withInput()
                ->with('error', 'This user has already been banned.');
        }

        return Redirect::route('users.show', ['users' => $id])
            ->with('success', 'The user has been suspended successfully.');
    }