Buggy code:
private List < IComponentOnBeforeRenderListener > componentPostOnBeforeRenderListeners ; private List < IComponentOnAfterRenderListener > componentOnAfterRenderListeners ; @ Deprecated private List < IHeaderContributor > renderHeadListeners ; private ICompoundRequestMapper rootRequestMapper ; private IComponentInstantiationListener [ ] componentInstantiationListeners = new IComponentInstantiationListener [ 0 ] ; private IConverterLocator converterLocator ; private final List < IInitializer > initializers = new ArrayList < IInitializer > ( ) ; private MetaDataEntry < ? > [ ] metaData ; private String name ; private IRequestLogger requestLogger ; private volatile ISessionStore sessionStore ; private Settings settings ; private boolean settingsAccessible ; private IPageRendererProvider pageRendererProvider ; private IRequestCycleProvider requestCycleProvider ; private IProvider < ISessionStore > sessionStoreProvider ; public static boolean exists ( ) { } public static Application get ( ) { } public void set ( ) { } public static Application get ( String applicationKey ) { } public static Set < String > getApplicationKeys ( ) { } public Application ( ) { } public final void addComponentInstantiationListener ( final IComponentInstantiationListener listener ) { } public final void configure ( ) { } public abstract String getApplicationKey ( ) { } public IApplicationSettings getApplicationSettings ( ) { } public abstract String getConfigurationType ( ) { } public final IConverterLocator getConverterLocator ( ) { } public IDebugSettings getDebugSettings ( ) { } public IExceptionSettings getExceptionSettings ( ) { } public IFrameworkSettings getFrameworkSettings ( ) { } public abstract Class < ? extends Page > getHomePage ( ) { } public IMarkupSettings getMarkupSettings ( ) { } public final < T > T getMetaData ( final MetaDataKey < T > key ) { } public final String getName ( ) { } public IPageSettings getPageSettings ( ) { } public IRequestCycleSettings getRequestCycleSettings ( ) { } public final IRequestLogger getRequestLogger ( ) { } public IRequestLoggerSettings getRequestLoggerSettings ( ) { } public IResourceSettings getResourceSettings ( ) { } public ISecuritySettings getSecuritySettings ( ) { } public ISessionSettings getSessionSettings ( ) { } public final ISessionStore getSessionStore ( ) { } public void sessionUnbound ( String sessionId ) { } public final void initializeComponents ( ) { } public void logEventTarget ( IRequestHandler target ) { } public void logResponseTarget ( IRequestHandler requestTarget ) { } public abstract Session newSession ( Request request , Response response ) { } public final void removeComponentInstantiationListener ( final IComponentInstantiationListener listener ) { } public final synchronized < T > void setMetaData ( final MetaDataKey < T > key , final Object object ) { } private final void addInitializer ( String className ) { } private final void callDestroyers ( ) { } private final void callInitializers ( ) { } private Settings getSettings ( ) { } private final void load ( final Properties properties ) { } protected void onDestroy ( ) { } protected void init ( ) { } public void internalDestroy ( ) { } protected void internalInit ( ) { settingsAccessible = true ; IPageSettings pageSettings = getPageSettings ( ) ; pageSettings . addComponentResolver ( new AutoComponentResolver ( ) ) ; pageSettings . addComponentResolver ( new MarkupInheritanceResolver ( ) ) ; pageSettings . addComponentResolver ( new HtmlHeaderResolver ( ) ) ; pageSettings . addComponentResolver ( new WicketLinkTagHandler ( ) ) ; pageSettings . addComponentResolver ( new WicketMessageResolver ( ) ) ; pageSettings . addComponentResolver ( new WicketMessageTagHandler ( ) ) ; pageSettings . addComponentResolver ( new FragmentResolver ( ) ) ; pageSettings . addComponentResolver ( new RelativePathPrefixHandler ( ) ) ; pageSettings . addComponentResolver ( new EnclosureHandler ( ) ) ; pageSettings . addComponentResolver ( new WicketContainerResolver ( ) ) ; getResourceSettings ( ) . addResourceFactory ( "buttonFactory" , new DefaultButtonImageResourceFactory ( ) ) ; String applicationKey = getApplicationKey ( ) ; Application . applicationKeyToApplication . put ( applicationKey , this ) ; converterLocator = newConverterLocator ( ) ; setPageManagerProvider ( new Application . DefaultPageManagerProvider ( ) ) ; resourceReferenceRegistry = newResourceReferenceRegistry ( ) ; sharedResources = newSharedResources ( resourceReferenceRegistry ) ; <START_BUG> setRootRequestMapper ( new SystemMapper ( getResourceSettings ( ) ) ) ; <END_BUG> pageFactory = newPageFactory ( ) ; requestCycleProvider = new Application . DefaultRequestCycleProvider ( ) ; } public final IProvider < ISessionStore > getSessionStoreProvider ( ) { } public final void setSessionStoreProvider ( IProvider < ISessionStore > sessionStoreProvider ) { } protected IConverterLocator newConverterLocator ( ) { } protected IRequestLogger newRequestLogger ( ) { } final void notifyComponentInstantiationListeners ( final Component component ) { } public final void addPreComponentOnBeforeRenderListener ( final IComponentOnBeforeRenderListener listener ) { } public final void removePreComponentOnBeforeRenderListener ( final IComponentOnBeforeRenderListener listener ) { } final void notifyPreComponentOnBeforeRenderListeners ( final Component component ) { } public final void addPostComponentOnBeforeRenderListener ( final IComponentOnBeforeRenderListener listener ) { } public final void removePostComponentOnBeforeRenderListener ( final IComponentOnBeforeRenderListener listener ) { } final void notifyPostComponentOnBeforeRenderListeners ( final Component component ) { } public final void addComponentOnAfterRenderListener ( final IComponentOnAfterRenderListener listener ) { } public final void removeComponentOnAfterRenderListener ( final IComponentOnAfterRenderListener listener ) { } final void notifyComponentOnAfterRenderListeners ( final Component component ) { } @ Deprecated public final void addRenderHeadListener ( final IHeaderContributor listener ) { } @ Deprecated public void removeRenderHeadListener ( final IHeaderContributor listener ) { } public void notifyRenderHeadListener ( final IHeaderResponse response ) { } public final ICompoundRequestMapper getRootRequestMapper ( ) { } public final void setRootRequestMapper ( final ICompoundRequestMapper rootRequestMapper ) { } private volatile IPageManager pageManager ; private IPageManagerProvider pageManagerProvider ; public final IPageManagerProvider getPageManagerProvider ( ) { } public final void setPageManagerProvider ( IPageManagerProvider pageManagerProvider ) { } private final IPageManagerContext pageManagerContext = new DefaultPageManagerContext ( ) ; public final IPageManager getPageManager ( ) { } protected IPageManagerContext getPageManagerContext ( ) { } public final IPageRendererProvider getPageRendererProvider ( ) { } public final void setPageRendererProvider ( IPageRendererProvider pageRendererProvider ) { } private ResourceReferenceRegistry resourceReferenceRegistry ; protected ResourceReferenceRegistry newResourceReferenceRegistry ( ) { } public final ResourceReferenceRegistry getResourceReferenceRegistry ( ) { } private SharedResources sharedResources ; protected SharedResources newSharedResources ( ResourceReferenceRegistry registry ) { } public SharedResources getSharedResources ( ) { } private IPageFactory pageFactory ; protected IPageFactory newPageFactory ( ) { }

Fix:
setRootRequestMapper ( new SystemMapper ( this ) ) ;