docs: Enumeration pollForInvalidSessionsWithListeners(Connection nukerCon) throws SQLException {
          //create local variable - JIT performance improvement
          final boolean isTraceOn = com.ibm.websphere.ras.TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
              LoggingUtil.SESSION_LOGGER_WAS.entering(methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS]);
          }
          String appName = getIStore().getId(); // bhSessionContext.getAppName();
          Hashtable ret = new Hashtable();
          String id = null;
          PreparedStatement selectNukerStatement = null;
          ResultSet rs = null;
          boolean statementClose = false;
          try {
              long now = System.currentTimeMillis();
  
              String selNukerString = this.selNukerString;
  
              if (usingDB2 || usingDerby)
                  selNukerString = selNukerString + " for read only";
  
              int oldIsolationLevel = 0;
              // to reduce shared locks on select, set auto commit on
  
              //To reduce the shared locks happening on select, temporarily change isolation level
              if (usingDB2 || usingDerby) {
                  oldIsolationLevel = nukerCon.getTransactionIsolation();
                  nukerCon.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED);
              }
  
              selectNukerStatement = nukerCon.prepareStatement(selNukerString);
              selectNukerStatement.setString(1, appName);
              setPSLong(selectNukerStatement, 2, now);
  
              if (isTraceOn && LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
                  LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "exec query for " + appName);
              }
  
              rs = selectNukerStatement.executeQuery();
  
              if (isTraceOn && LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
                  LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "after query for " + appName
                                                                                                                                          + " processing results");
              }
  
              while (rs.next()) {
  
                  id = rs.getString(1);
                  if (isTraceOn && LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
                      LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "processing " + id);
                  }
                  BackedSession s = new DatabaseSession(this, id, _iStore.getStoreCallback()); //(DatabaseSession)getSessionWrapper(id);
  
                  s.initSession(_iStore);
                  s.setIsValid(true);
                  s.setIsNew(false);
                  s.updateLastAccessTime(rs.getLong(2));
                  s.setCreationTime(rs.getLong(3));
                  s.internalSetMaxInactive(rs.getInt(4));
                  s.internalSetUser(rs.getString(5));
                  s.setListenerFlag(rs.getShort(6));
  
                  ret.put(id, s);
              }
  
              rs.close();
              selectNukerStatement.close();
              statementClose = true;
  
              if (usingDB2) {
                  nukerCon.setTransactionIsolation(oldIsolationLevel);
              }
  
              if (isTraceOn && LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
                  LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "close/commit ");
              }
          } catch (SQLException se) {
              //            if (isStaleConnectionException(se)) {
              //                com.ibm.ws.ffdc.FFDCFilter.processException(se, "com.ibm.ws.session.store.db.DatabaseHashMap.pollForInvalids", id, nukerCon);
              //                if (isTraceOn&&LoggingUtil.SESSION_LOGGER_WAS.isLoggable(Level.FINE)) {
              //                    LoggingUtil.SESSION_LOGGER_WAS.logp(Level.FINE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "StaleConnectionException");
              //                }
              //                throw se;
              //            } else {
              com.ibm.ws.ffdc.FFDCFilter.processException(se, "com.ibm.ws.session.store.db.DatabaseHashMap.pollForInvalids", id, nukerCon);
              LoggingUtil.SESSION_LOGGER_WAS.logp(Level.SEVERE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "DatabaseHashMap.pollForInvalidsError");
              LoggingUtil.SESSION_LOGGER_WAS.logp(Level.SEVERE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "CommonMessage.sessionid", id);
              LoggingUtil.SESSION_LOGGER_WAS.logp(Level.SEVERE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "CommonMessage.exception", se);
              throw se;
              //            }
          } catch (Exception e) {
              com.ibm.ws.ffdc.FFDCFilter.processException(e, "com.ibm.ws.session.store.db.DatabaseHashMap.pollForInvalids", id, nukerCon);
              LoggingUtil.SESSION_LOGGER_WAS.logp(Level.SEVERE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "DatabaseHashMap.pollForInvalidsError");
              LoggingUtil.SESSION_LOGGER_WAS.logp(Level.SEVERE, methodClassName, methodNames[POLL_FOR_INVALID_SESSIONS_WITH_LISTENERS], "CommonMessage.exception", e);
          } finally {
              if (!statementClose && selectNukerStatement != null) {
                  closeResultSet(rs);
                  closeStatement(selectNukerStatement);
              }
          }
  
          return ret.elements();
      }