private SockJsSession createSockJsSession(
      String sessionId,
      SockJsSessionFactory sessionFactory,
      WebSocketHandler handler,
      Map<String, Object> attributes) {

    SockJsSession session = this.sessions.get(sessionId);
    if (session != null) {
      return session;
    }
    if (this.sessionCleanupTask == null) {
      scheduleSessionTask();
    }
    session = sessionFactory.createSession(sessionId, handler, attributes);
    this.sessions.put(sessionId, session);
    return session;
  }
  private SockJsSession createSockJsSession(
      String sessionId,
      SockJsSessionFactory sessionFactory,
      WebSocketHandler handler,
      Map<String, Object> attributes) {

    SockJsSession session = this.sessions.get(sessionId);
    if (session != null) {
      return session;
    }

    if (this.sessionCleanupTask == null) {
      scheduleSessionTask();
    }

    if (logger.isDebugEnabled()) {
      logger.debug("Creating new session with session id \"" + sessionId + "\"");
    }
    session = sessionFactory.createSession(sessionId, handler, attributes);
    this.sessions.put(sessionId, session);

    return session;
  }