### Question:
HttpRequestWrapper extends HttpServletRequestWrapper implements RequestWithSession { public void commit() { doCommit(); } HttpRequestWrapper(HttpServletRequest req, ServletContext servletContext); @Override RepositoryBackedHttpSession getSession(); @Override RepositoryBackedHttpSession getSession(boolean create); SessionManager getManager(); HttpResponseWrapper getResponse(); void setResponse(HttpResponseWrapper response); void commit(); @Override RepositoryBackedHttpSession getRepositoryBackedSession(boolean create); @Override ServletContext getServletContext(); HttpRequestWrapper getEmbeddedRequest(); boolean isPropagateOnCreate(); void setPropagateOnCreate(boolean propagate); @Override boolean isIdRetrieved(); @Override void setRequestedSessionId(String id, boolean isFromCookie); @Override String getRequestedSessionId(); @Override boolean isRequestedSessionIdFromCookie(); @Override boolean isRequestedSessionIdFromURL(); @Override boolean isRequestedSessionIdFromUrl(); @Override boolean isRequestedSessionIdValid(); @Override boolean isRepositoryChecked(); @Override void repositoryChecked(); String encodeURL(String url); @Override String changeSessionId();  }### Answer:
@Test public void testCommitted() { HttpServletRequest wrappedSimple = mock(HttpServletRequest.class); RepositoryBackedHttpSession session = mock(RepositoryBackedHttpSession.class); when(session.getId()).thenReturn(SESSION_ID); HttpRequestWrapper wrappedHttpRequestWrapper = spy(new HttpRequestWrapper(wrappedSimple, servletContext)); wrappedHttpRequestWrapper.session = session; HttpServletRequest wrappedComplex = new HttpServletRequestWrapper(wrappedHttpRequestWrapper); HttpRequestWrapper req = spy(new HttpRequestWrapper(wrappedComplex, servletContext)); req.committed = true; req.commit(); }