class HttpRequestWrapper extends HttpServletRequestWrapper implements RequestWithSession {

  @Override
  public String changeSessionId() {
    retrieveSessionIfNeeded(false);
    if (session == null) {
      throw new IllegalStateException("There is no session associated with the request.");
    }
    manager.switchSessionId(session);
    return session.getId();
  }

  public  HttpRequestWrapper(HttpServletRequest req, ServletContext servletContext);

}