Buggy code:
public class WebPageRenderer extends PageRenderer { private static Logger logger = LoggerFactory . getLogger ( WebPageRenderer . class ) ; public WebPageRenderer ( RenderPageRequestHandler renderPageRequestHandler ) { } public IRequestablePage getPage ( ) { } private boolean isOnePassRender ( ) { } private boolean isRedirectToRender ( ) { } private boolean isRedirectToBuffer ( ) { } private void renderPage ( ) { } private String getSessionId ( ) { } private boolean isSessionTemporary ( ) { } private BufferedWebResponse getAndRemoveBufferedResponse ( Url url ) { } protected void storeBufferedResponse ( Url url , BufferedWebResponse response ) { } protected BufferedWebResponse renderPage ( Url targetUrl , RequestCycle requestCycle ) { } private void redirectTo ( Url url , RequestCycle requestCycle ) { } @ Override public void respond ( RequestCycle requestCycle ) { <START_BUG> Url currentUrl = requestCycle . getRequest ( ) . getUrl ( ) ; <END_BUG> Url targetUrl = requestCycle . mapUrlFor ( getRenderPageRequestHandler ( ) ) ; BufferedWebResponse bufferedResponse = getAndRemoveBufferedResponse ( currentUrl ) ; if ( bufferedResponse != null ) { WebPageRenderer . logger . warn ( "The<seq2seq4repair_space>Buffered<seq2seq4repair_space>response<seq2seq4repair_space>should<seq2seq4repair_space>be<seq2seq4repair_space>handled<seq2seq4repair_space>by<seq2seq4repair_space>BufferedResponseRequestHandler" ) ; bufferedResponse . writeTo ( ( ( WebResponse ) ( requestCycle . getResponse ( ) ) ) ) ; } else if ( ( ( ( ( getRedirectPolicy ( ) ) == ( RedirectPolicy . NEVER_REDIRECT ) ) || ( isOnePassRender ( ) ) ) || ( ( ( targetUrl . equals ( currentUrl ) ) && ( ! ( getPageProvider ( ) . isNewPageInstance ( ) ) ) ) && ( ! ( getPage ( ) . isPageStateless ( ) ) ) ) ) || ( ( targetUrl . equals ( currentUrl ) ) && ( isRedirectToRender ( ) ) ) ) { BufferedWebResponse response = renderPage ( currentUrl , requestCycle ) ; if ( response != null ) { response . writeTo ( ( ( WebResponse ) ( requestCycle . getResponse ( ) ) ) ) ; } } else if ( ( ! ( targetUrl . equals ( currentUrl ) ) ) && ( ( ( getRedirectPolicy ( ) ) == ( RedirectPolicy . ALWAYS_REDIRECT ) ) || ( isRedirectToRender ( ) ) ) ) { redirectTo ( targetUrl , requestCycle ) ; } else if ( ( ( ! ( targetUrl . equals ( currentUrl ) ) ) && ( isSessionTemporary ( ) ) ) && ( getPage ( ) . isPageStateless ( ) ) ) { redirectTo ( targetUrl , requestCycle ) ; } else if ( isRedirectToBuffer ( ) ) { BufferedWebResponse response = renderPage ( targetUrl , requestCycle ) ; if ( response == null ) { return ; } Url targetUrl2 = requestCycle . mapUrlFor ( getRenderPageRequestHandler ( ) ) ; if ( ( targetUrl . getSegments ( ) . equals ( targetUrl2 . getSegments ( ) ) ) == false ) { response = renderPage ( targetUrl2 , requestCycle ) ; } if ( ( getPage ( ) . isPageStateless ( ) ) && ( ! ( enableRedirectForStatelessPage ( ) ) ) ) { response . writeTo ( ( ( WebResponse ) ( requestCycle . getResponse ( ) ) ) ) ; } else { storeBufferedResponse ( targetUrl2 , response ) ; redirectTo ( targetUrl2 , requestCycle ) ; } } else { throw new IllegalStateException ( "Unknown<seq2seq4repair_space>RenderStrategy." ) ; } } protected boolean enableRedirectForStatelessPage ( ) { } }

Fix:
Url currentUrl = requestCycle . getUrlRenderer ( ) . getBaseUrl ( ) ;