¿Cómo interceptar el valor del encabezado HTTP personalizado y almacenarlo en la WebSession de Wicket?

Necesito tomar un cierto valor de encabezado HTTP personalizado de cada solicitud y ponerlo en WebSession para que esté disponible en cualquier página web más adelante. (Creo que la forma de Wicket de hacer esto es tener una clase personalizada que extienda WebSession que tenga los accesores apropiados).

Mi pregunta es,qué tipo de filtro (u otro mecanismo) necesito para poder interceptar el encabezado y acceder a la sesión web para almacenar el valor?

Traté de hacer esto con un filtro Java EE normal, usando

CustomSession session = (CustomSession) AuthenticatedWebSession.get();

Pero (tal vez no sea sorprendente), eso produce:

java.lang.IllegalStateException: 
    you can only locate or create sessions in the context of a request cycle

¿Debería quizás extender WicketFilter y hacerlo allí (¿puedo acceder a la sesión en ese momento?), O se requiere algo aún más complicado?

Por supuesto, indíquelo si estoy haciendo algo completamente incorrecto; Soy nuevo en Wicket.

Respuestas a la pregunta(1)

Su respuesta a la pregunta