@Override
 public void run() {
   List<Token> tokens = tokensManagement.getAllTokens(SESSION_TOKEN_TYPE);
   long now = System.currentTimeMillis();
   for (Token t : tokens) {
     if (t.getExpires() != null) continue;
     LoginSession session = token2session(t);
     long inactiveFor = now - session.getLastUsed().getTime();
     if (inactiveFor > session.getMaxInactivity()) {
       log.debug("Expiring login session " + session + " inactive for: " + inactiveFor);
       try {
         removeSession(session.getId(), false);
       } catch (Exception e) {
         log.error("Can't expire the session " + session, e);
       }
     }
   }
 }