Buggy code:
public abstract class AbstractBookmarkableMapper extends AbstractComponentMapper { private static Logger logger = LoggerFactory . getLogger ( AbstractBookmarkableMapper . class ) ; protected static final class UrlInfo { private final PageComponentInfo pageComponentInfo ; private final PageParameters pageParameters ; private final Class < ? extends IRequestablePage > pageClass ; public UrlInfo ( PageComponentInfo pageComponentInfo , Class < ? extends IRequestablePage > pageClass , PageParameters pageParameters ) { } public PageComponentInfo getPageComponentInfo ( ) { } public Class < ? extends IRequestablePage > getPageClass ( ) { } public PageParameters getPageParameters ( ) { } } public AbstractBookmarkableMapper ( ) { } protected abstract AbstractBookmarkableMapper . UrlInfo parseRequest ( Request request ) { } protected abstract Url buildUrl ( AbstractBookmarkableMapper . UrlInfo info ) { } protected abstract boolean pageMustHaveBeenCreatedBookmarkable ( ) { } public abstract int getCompatibilityScore ( Request request ) { } private IRequestHandler processBookmarkable ( Class < ? extends IRequestablePage > pageClass , PageParameters pageParameters ) { } private IRequestHandler processHybrid ( PageInfo pageInfo , Class < ? extends IRequestablePage > pageClass , PageParameters pageParameters , Integer renderCount ) { } private IRequestHandler processListener ( PageComponentInfo pageComponentInfo , Class < ? extends IRequestablePage > pageClass , PageParameters pageParameters ) { PageInfo pageInfo = pageComponentInfo . getPageInfo ( ) ; ComponentInfo componentInfo = pageComponentInfo . getComponentInfo ( ) ; Integer renderCount = null ; RequestListenerInterface listenerInterface = null ; if ( componentInfo != null ) { renderCount = componentInfo . getRenderCount ( ) ; listenerInterface = requestListenerInterfaceFromString ( componentInfo . getListenerInterface ( ) ) ; } if ( listenerInterface != null ) { PageAndComponentProvider provider = new PageAndComponentProvider ( pageInfo . getPageId ( ) , pageClass , pageParameters , renderCount , componentInfo . getComponentPath ( ) ) ; provider . setPageSource ( getContext ( ) ) ; <START_BUG> return new org . apache . wicket . request . handler . ListenerInterfaceRequestHandler ( provider , listenerInterface , componentInfo . getBehaviorIndex ( ) ) ; <END_BUG> } else { if ( AbstractBookmarkableMapper . logger . isWarnEnabled ( ) ) { if ( componentInfo != null ) { AbstractBookmarkableMapper . logger . warn ( "Unknown<seq2seq4repair_space>listener<seq2seq4repair_space>interface<seq2seq4repair_space>'{}'" , componentInfo . getListenerInterface ( ) ) ; } else { AbstractBookmarkableMapper . logger . warn ( ( "Cannot<seq2seq4repair_space>extract<seq2seq4repair_space>the<seq2seq4repair_space>listener<seq2seq4repair_space>interface<seq2seq4repair_space>for<seq2seq4repair_space>PageComponentInfo:<seq2seq4repair_space>'{}'" + pageComponentInfo ) ) ; } } return null ; } } public IRequestHandler mapRequest ( Request request ) { } protected boolean checkPageClass ( Class < ? extends IRequestablePage > pageClass ) { } public Url mapHandler ( final IRequestHandler requestHandler ) { } }

Fix:
return new org . apache . wicket . request . handler . ListenerInterfaceRequestHandler ( provider , listenerInterface , componentInfo . getBehaviorId ( ) ) ;