¿Cómo puedo cargar manualmente una sesión de Java usando un JSESSIONID?

Tengo un servlet que maneja una publicación de formulario multiparte. La publicación en realidad está siendo realizada por un componente de carga de archivos Flash incrustado en la página. En algunos navegadores, la POST generada por Flash no incluye JSESSIONID, lo que me impide cargar cierta información de la sesión durante la publicación.

El componente de carga flash incluye información sobre cookies y sesiones dentro de un campo de formulario especial. Usando este campo de formulario, puedo recuperar el valor JSESSIONID. El problema es que no sé cómo usar este valor JSESSIONID para cargar manualmente esa sesión específica.

Editar - Basado en la solución de ChssPly76, creé lo siguienteHttpSessionListener implementación:

    @Override
    public void sessionCreated(final HttpSessionEvent se) {
        final HttpSession session = se.getSession();
        final ServletContext context = session.getServletContext();
        context.setAttribute(session.getId(), session);
    }

    @Override
    public void sessionDestroyed(final HttpSessionEvent se) {
        final HttpSession session = se.getSession();
        final ServletContext context = session.getServletContext();
        context.removeAttribute(session.getId());
    }

Lo que añade todas las sesiones alServletContext como atributos mapeados por sus identificadores únicos. Podría poner un mapa de sesiones en el contexto, pero parece redundante. Por favor, publique cualquier idea sobre esta decisión. A continuación, agrego el siguiente método a mi servlet para resolver la sesión por ID:

    private HttpSession getSession(final String sessionId) {
        final ServletContext context = getServletContext();
        final HttpSession session = (HttpSession) context.getAttribute(sessionId);
        return session;
    }

Respuestas a la pregunta(5)

Su respuesta a la pregunta