class CTSOperations implements SessionOperations {

    @Override
    public void destroy(Session requester, Session session) throws SessionException {

        // Comments as for logout.  The check for a local session should be removed if it proves to be a performance
        // bottleneck.
        //
        SessionID sessionID = session.getID();
        if (sessionService.checkSessionLocal(sessionID)) {
            throw new SessionException("CTSOperations received a local session (only remote sessions expected)");
        }
        remote.destroy(requester, session);
    }

    @Inject public  CTSOperations(CTSPersistentStore cts, SessionAdapter adapter,
                         TokenIdFactory idFactory, SessionInfoFactory sessionInfoFactory,
                         SessionService sessionService, RemoteOperations remote,
                         @Named(SessionConstants.SESSION_DEBUG) Debug debug);

}