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 ( final RequestCycle requestCycle , final Page page , final String componentPath , final String interfaceName , final RequestParameters requestParameters ) { if ( interfaceName . equals ( INTERFACE . getName ( ) ) ) { return new wicket . request . target . component . listener . RedirectPageRequestTarget ( page ) ; } else { final RequestListenerInterface listener = RequestListenerInterface . forName ( 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 pageRelativeComponentPath = Strings . afterFirstPathComponent ( componentPath , PATH_SEPARATOR ) ; if ( Strings . isEmpty ( pageRelativeComponentPath ) ) { 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 ( pageRelativeComponentPath ) ; if ( component == null ) { throw new WicketRuntimeException ( ( "Attempt<seq2seq4repair_space>to<seq2seq4repair_space>call<seq2seq4repair_space>listener<seq2seq4repair_space>method<seq2seq4repair_space>on<seq2seq4repair_space>non-existant<seq2seq4repair_space>component:<seq2seq4repair_space>" + componentPath ) ) ; } if ( ! ( component . isVisibleInHierarchy ( ) ) ) { 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 ( ! ( component . isEnabled ( ) ) ) { 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>enabled<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>allowed:<seq2seq4repair_space>" + componentPath ) ) ; } <START_BUG> if ( ! ( component . isActionAuthorized ( ENABLE ) ) ) { <END_BUG> throw new wicket . authorization . UnauthorizedActionException ( component , Component . ENABLE ) ; } return listener . newRequestTarget ( 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 ( ! ( component . isEnableAllowed ( ) ) ) {