Buggy code:
public class DefaultRequestTargetResolverStrategy implements IRequestTargetResolverStrategy { public DefaultRequestTargetResolverStrategy ( ) { } public final IRequestTarget resolve ( final RequestCycle requestCycle , final RequestParameters requestParameters ) { } protected IRequestTarget resolveSharedResource ( final RequestCycle requestCycle , final RequestParameters requestParameters ) { } protected IRequestTarget resolveRenderedPage ( final RequestCycle requestCycle , final RequestParameters requestParameters ) { } protected IRequestTarget resolveListenerInterfaceTarget ( RequestCycle requestCycle , final Page page , final String componentPath , final String interfaceName , RequestParameters requestParameters ) { <START_BUG> if ( interfaceName . equals ( "IRedirectListener" ) ) { <END_BUG> return new wicket . request . target . RedirectPageRequestTarget ( page ) ; } else { final RequestListenerInterface listener = RequestCycle . requestListenerInterfaceForName ( interfaceName ) ; if ( listener == null ) { throw new WicketRuntimeException ( ( "Attempt<seq2seq4repair_space>to<seq2seq4repair_space>access<seq2seq4repair_space>unknown<seq2seq4repair_space>request<seq2seq4repair_space>listener<seq2seq4repair_space>interface<seq2seq4repair_space>" + interfaceName ) ) ; } final String componentPart = Strings . afterFirstPathComponent ( componentPath , PATH_SEPARATOR ) ; if ( Strings . isEmpty ( componentPart ) ) { throw new WicketRuntimeException ( ( ( "When<seq2seq4repair_space>trying<seq2seq4repair_space>to<seq2seq4repair_space>call<seq2seq4repair_space>" + listener ) + ",<seq2seq4repair_space>a<seq2seq4repair_space>component<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>provided" ) ) ; } final Component component = page . get ( componentPart ) ; if ( component == null ) { throw new WicketRuntimeException ( ( "Calling<seq2seq4repair_space>listener<seq2seq4repair_space>methods<seq2seq4repair_space>on<seq2seq4repair_space>non-existing<seq2seq4repair_space>component:<seq2seq4repair_space>" + componentPath ) ) ; } if ( ! ( component . isVisible ( ) ) ) { throw new WicketRuntimeException ( ( "Calling<seq2seq4repair_space>listener<seq2seq4repair_space>methods<seq2seq4repair_space>on<seq2seq4repair_space>components<seq2seq4repair_space>that<seq2seq4repair_space>are<seq2seq4repair_space>not<seq2seq4repair_space>visible<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>allowed:<seq2seq4repair_space>" + componentPath ) ) ; } if ( interfaceName . equals ( "IResourceListener" ) ) { return new wicket . request . target . ComponentResourceRequestTarget ( page , component , listener ) ; } else if ( interfaceName . equals ( "IBehaviorListener" ) ) { return new wicket . request . target . BehaviorRequestTarget ( page , component , listener , requestParameters ) ; } return new wicket . request . target . ListenerInterfaceRequestTarget ( page , component , listener , requestParameters ) ; } } protected IRequestTarget resolveBookmarkablePage ( final RequestCycle requestCycle , final RequestParameters requestParameters ) { } protected IRequestTarget resolveHomePageTarget ( final RequestCycle requestCycle , final RequestParameters requestParameters ) { } protected IRequestTarget resolveExternalResource ( RequestCycle requestCycle ) { } }

Fix:
if ( interfaceName . equals ( REDIRECT_LISTENER_INTERFACE . getName ( ) ) ) {