Buggy code:
private IPageRendererProvider pageRendererProvider ; private IRequestCycleProvider requestCycleProvider ; private IProvider < IExceptionMapper > exceptionMapperProvider ; private IProvider < ISessionStore > sessionStoreProvider ; private IHeaderResponseDecorator headerResponseDecorator ; public static boolean exists ( ) { } public static Application get ( ) { } public static Application get ( final String applicationKey ) { } public static Set < String > getApplicationKeys ( ) { } public Application ( ) { } public final void configure ( ) { } public abstract String getApplicationKey ( ) { } public abstract RuntimeConfigurationType getConfigurationType ( ) { } public abstract Class < ? extends Page > getHomePage ( ) { } public final IConverterLocator getConverterLocator ( ) { } public final < T > T getMetaData ( final MetaDataKey < T > key ) { } public final String getName ( ) { } public final IRequestLogger getRequestLogger ( ) { } public final ISessionStore getSessionStore ( ) { } public void sessionUnbound ( final String sessionId ) { } public final void initializeComponents ( ) { } public void logEventTarget ( final IRequestHandler target ) { } public void logResponseTarget ( final IRequestHandler requestTarget ) { } public abstract Session newSession ( Request request , Response response ) { } public final synchronized < T > void setMetaData ( final MetaDataKey < T > key , final Object object ) { } private void addInitializer ( final String className ) { } private void callDestroyers ( ) { } private void callInitializers ( ) { } private void load ( final Properties properties ) { } protected void onDestroy ( ) { } protected void init ( ) { } public void internalDestroy ( ) { } protected void internalInit ( ) { } public IProvider < IExceptionMapper > getExceptionMapperProvider ( ) { } public void setExceptionMapperProvider ( IProvider < IExceptionMapper > exceptionMapperProvider ) { } public final IProvider < ISessionStore > getSessionStoreProvider ( ) { } public final void setSessionStoreProvider ( final IProvider < ISessionStore > sessionStoreProvider ) { } protected IConverterLocator newConverterLocator ( ) { } protected IRequestLogger newRequestLogger ( ) { } public final ICompoundRequestMapper getRootRequestMapperAsCompound ( ) { } public final IRequestMapper getRootRequestMapper ( ) { } public final void setRootRequestMapper ( final IRequestMapper rootRequestMapper ) { } public final void initApplication ( ) { } protected void validateInit ( ) { } public final void setName ( final String name ) { } public String getMimeType ( final String fileName ) { } public void onEvent ( final IEvent < ? > event ) { } private final ComponentOnBeforeRenderListenerCollection componentPreOnBeforeRenderListeners = new ComponentOnBeforeRenderListenerCollection ( ) ; private final ComponentOnBeforeRenderListenerCollection componentPostOnBeforeRenderListeners = new ComponentOnBeforeRenderListenerCollection ( ) ; private final ComponentOnAfterRenderListenerCollection componentOnAfterRenderListeners = new ComponentOnAfterRenderListenerCollection ( ) ; private final RequestCycleListenerCollection requestCycleListeners = new RequestCycleListenerCollection ( ) ; private final ComponentInstantiationListenerCollection componentInstantiationListeners = new ComponentInstantiationListenerCollection ( ) ; private final ComponentInitializationListenerCollection componentInitializationListeners = new ComponentInitializationListenerCollection ( ) ; private final HeaderContributorListenerCollection headerContributorListenerCollection = new HeaderContributorListenerCollection ( ) ; public final HeaderContributorListenerCollection getHeaderContributorListenerCollection ( ) { } public final ComponentInstantiationListenerCollection getComponentInstantiationListeners ( ) { } public final ComponentInitializationListenerCollection getComponentInitializationListeners ( ) { } public final ComponentOnBeforeRenderListenerCollection getComponentPreOnBeforeRenderListeners ( ) { } public final ComponentOnBeforeRenderListenerCollection getComponentPostOnBeforeRenderListeners ( ) { } public final ComponentOnAfterRenderListenerCollection getComponentOnAfterRenderListeners ( ) { } public RequestCycleListenerCollection getRequestCycleListeners ( ) { } private IApplicationSettings applicationSettings ; private IDebugSettings debugSettings ; private IExceptionSettings exceptionSettings ; private IFrameworkSettings frameworkSettings ; private IMarkupSettings markupSettings ; private IPageSettings pageSettings ; private IRequestCycleSettings requestCycleSettings ; private IRequestLoggerSettings requestLoggerSettings ; private IResourceSettings resourceSettings ; private ISecuritySettings securitySettings ; private ISessionSettings sessionSettings ; private IStoreSettings storeSettings ; private boolean settingsAccessible ; public final IApplicationSettings getApplicationSettings ( ) { } public final void setApplicationSettings ( final IApplicationSettings applicationSettings ) { } public final IDebugSettings getDebugSettings ( ) { } public final void setDebugSettings ( final IDebugSettings debugSettings ) { } public final IExceptionSettings getExceptionSettings ( ) { } public final void setExceptionSettings ( final IExceptionSettings exceptionSettings ) { } public final IFrameworkSettings getFrameworkSettings ( ) { checkSettingsAvailable ( ) ; if ( ( frameworkSettings ) == null ) { <START_BUG> frameworkSettings = new FrameworkSettings ( ) ; <END_BUG> } return frameworkSettings ; } public final void setFrameworkSettings ( final IFrameworkSettings frameworkSettings ) { } public final IPageSettings getPageSettings ( ) { } public final void setPageSettings ( final IPageSettings pageSettings ) { } public final IRequestCycleSettings getRequestCycleSettings ( ) { } public final void setRequestCycleSettings ( final IRequestCycleSettings requestCycleSettings ) { } public IMarkupSettings getMarkupSettings ( ) { } public final void setMarkupSettings ( final IMarkupSettings markupSettings ) { } public final IRequestLoggerSettings getRequestLoggerSettings ( ) { } public final void setRequestLoggerSettings ( final IRequestLoggerSettings requestLoggerSettings ) { } public final IResourceSettings getResourceSettings ( ) { } public final void setResourceSettings ( final IResourceSettings resourceSettings ) { } public final ISecuritySettings getSecuritySettings ( ) { } public final void setSecuritySettings ( final ISecuritySettings securitySettings ) { } public final ISessionSettings getSessionSettings ( ) { } public final void setSessionSettings ( final ISessionSettings sessionSettings ) { } public final IStoreSettings getStoreSettings ( ) { } public final void setStoreSettings ( final IStoreSettings storeSettings ) { } private void checkSettingsAvailable ( ) { } private volatile IPageManager pageManager ; private IPageManagerProvider pageManagerProvider ; public final IPageManagerProvider getPageManagerProvider ( ) { } public final synchronized void setPageManagerProvider ( final IPageManagerProvider provider ) { } private final IPageManagerContext pageManagerContext = new DefaultPageManagerContext ( ) ; final IPageManager internalGetPageManager ( ) { } protected IPageManagerContext getPageManagerContext ( ) { } public final IPageRendererProvider getPageRendererProvider ( ) { } public final void setPageRendererProvider ( final IPageRendererProvider pageRendererProvider ) { } private ResourceReferenceRegistry resourceReferenceRegistry ; private SharedResources sharedResources ; private IPageFactory pageFactory ; private IMapperContext encoderContext ; protected ResourceReferenceRegistry newResourceReferenceRegistry ( ) { } public final ResourceReferenceRegistry getResourceReferenceRegistry ( ) { } protected SharedResources newSharedResources ( final ResourceReferenceRegistry registry ) { } public SharedResources getSharedResources ( ) { } protected IPageFactory newPageFactory ( ) { } public final IPageFactory getPageFactory ( ) { }

Fix:
frameworkSettings = new FrameworkSettings ( this ) ;