docs: private final long checkSessionTimeout() {
  		long nextTimeout = 0;
  		if (configuration.getCheckSessionTimeoutInterval() > 0) {
  			gate.lock();
  			try {
  				if (selectTries * 1000 >= configuration
  						.getCheckSessionTimeoutInterval()) {
  					nextTimeout = configuration
  							.getCheckSessionTimeoutInterval();
  					for (SelectionKey key : selector.keys()) {
  
  						if (key.attachment() != null) {
  							long n = checkExpiredIdle(key,
  									getSessionFromAttchment(key));
  							nextTimeout = n < nextTimeout ? n : nextTimeout;
  						}
  					}
  					selectTries = 0;
  				}
  			} finally {
  				gate.unlock();
  			}
  		}
  		return nextTimeout;
  	}