class StatelessOperations implements SessionOperations {

    @Override
    public SessionInfo refresh(final Session session, final boolean reset) throws SessionException {
        final SessionInfo sessionInfo = statelessSessionFactory.getSessionInfo(session.getID());
        if (sessionInfo.getExpiryTime() < System.currentTimeMillis()) {
            throw new SessionTimedOutException("Stateless session corresponding to client "
                    + sessionInfo.getClientID() + " timed out.");
        }
        return sessionInfo;
    }

    @Inject public  StatelessOperations(final LocalOperations localOperations,
                               final SessionService sessionService,
                               final StatelessSessionFactory statelessSessionFactory,
                               final SessionBlacklist sessionBlacklist,
                               final SessionLogging sessionLogging,
                               final SessionAuditor sessionAuditor);

}