Buggy code:
public abstract class RequestCycle { private static final ThreadLocal CURRENT = new ThreadLocal ( ) ; private static final Log log = LogFactory . getLog ( RequestCycle . class ) ; private static final Map listenerRequestInterfaceMethods = new HashMap ( ) ; private int currentStep = RequestCycle . NOT_STARTED ; protected final Application application ; protected final Session session ; protected Request request ; protected Response response ; private final Response originalResponse ; private transient Stack requestTargets = new Stack ( ) ; private transient RequestParameters requestParameters ; private boolean redirect ; private boolean updateSession ; private final long startTime = System . currentTimeMillis ( ) ; public static final RequestCycle get ( ) { } public static void registerRequestListenerInterface ( final Class i ) { } protected RequestCycle ( final Session session , final Request request , final Response response ) { } public final Response getOriginalResponse ( ) { } public final Application getApplication ( ) { } public final boolean getRedirect ( ) { } public final Request getRequest ( ) { } public final Response getResponse ( ) { } public final Session getSession ( ) { } public final void request ( final Component component ) throws ServletException { } public final void request ( ) throws ServletException { } public final void request ( IRequestTarget target ) throws ServletException { } private void checkReuse ( ) { } private final void steps ( ) { } private final void step ( IRequestCycleProcessor processor ) { try { switch ( currentStep ) { case RequestCycle . PREPARE_REQUEST : { prepare ( ) ; break ; } case RequestCycle . DECODE_PARAMETERS : { requestParameters = getRequestParameters ( processor ) ; break ; } case RequestCycle . RESOLVE_TARGET : { final IRequestTarget target = processor . resolve ( this , requestParameters ) ; if ( target == null ) { throw new WicketRuntimeException ( "the<seq2seq4repair_space>processor<seq2seq4repair_space>did<seq2seq4repair_space>not<seq2seq4repair_space>resolve<seq2seq4repair_space>to<seq2seq4repair_space>any<seq2seq4repair_space>request<seq2seq4repair_space>target" ) ; } requestTargets . push ( target ) ; break ; } case RequestCycle . CHECK_ACCESS : { IRequestTarget target = getRequestTarget ( ) ; if ( target instanceof IAccessChecker ) { ( ( IAccessChecker ) ( target ) ) . checkAccess ( this ) ; } IRequestTarget otherTarget = getRequestTarget ( ) ; if ( otherTarget != target ) { currentStep = ( RequestCycle . CHECK_ACCESS ) - 1 ; requestTargets . pop ( ) ; requestTargets . push ( target ) ; requestTargets . push ( otherTarget ) ; } break ; } case RequestCycle . PROCESS_EVENTS : { processEventsAndRespond ( processor ) ; break ; } case RequestCycle . RESPOND : { processor . respond ( this ) ; break ; } default : { } } <START_BUG> } catch ( Exception e ) { <END_BUG> currentStep = RequestCycle . HANDLE_EXCEPTION ; RequestCycle . log . error ( e . getMessage ( ) , e ) ; if ( processor != null ) { processor . respond ( e , this ) ; } } } private void prepare ( ) { } private void cleanUp ( ) { } private final RequestParameters getRequestParameters ( IRequestCycleProcessor processor ) { } private final void processEventsAndRespond ( IRequestCycleProcessor processor ) { } private Object getSynchronizationLock ( ) { } public final void setRequestTarget ( IRequestTarget requestTarget ) { } public final IRequestTarget getRequestTarget ( ) { } public final void setRedirect ( final boolean redirect ) { } public final void setRequest ( Request request ) { } public final void setResponse ( final Response response ) { } public final void setResponsePage ( final Class pageClass ) { } public final void setResponsePage ( final Class pageClass , final PageParameters pageParameters ) { } public final void setResponsePage ( final Page page ) { } public final Page getResponsePage ( ) { } public final Class getResponsePageClass ( ) { } public void setUpdateSession ( boolean updateCluster ) { } public final long getStartTime ( ) { } public String toString ( ) { } public final Method getRequestInterfaceMethod ( final String interfaceName ) { } protected void onBeginRequest ( ) { } protected void onEndRequest ( ) { } protected abstract ClientInfo newClientInfo ( ) { } public final ClientInfo getClientInfo ( ) { } public abstract IRequestCycleProcessor getRequestCycleProcessor ( ) { } public abstract void redirectTo ( final Page page ) { } private final void threadDetach ( ) { } private IRequestCycleProcessor safeGetRequestProcessor ( ) { } private static final int NOT_STARTED = 0 ; private static final int PREPARE_REQUEST = 1 ; private static final int DECODE_PARAMETERS = 2 ; private static final int RESOLVE_TARGET = 3 ; private static final int CHECK_ACCESS = 4 ; private static final int PROCESS_EVENTS = 5 ; private static final int RESPOND = 6 ; private static final int HANDLE_EXCEPTION = 7 ; private static final int CLEANUP_REQUEST = 8 ; private static final int DONE = 9 ; }

Fix:
} catch ( RuntimeException e ) {