ApplicationImpl(RuntimeConfig runtimeConfig) { if (runtimeConfig == null) { throw new IllegalArgumentException("runtimeConfig must mot be null"); } // set default implementation in constructor // pragmatic approach, no syncronizing will be needed in get methods _viewHandler = new JspViewHandlerImpl(); _navigationHandler = new NavigationHandlerImpl(); _actionListener = new ActionListenerImpl(); _defaultRenderKitId = "HTML_BASIC"; _stateManager = new JspStateManagerImpl(); _elContextListeners = new ArrayList<ELContextListener>(); _runtimeConfig = runtimeConfig; if (log.isTraceEnabled()) log.trace("New Application instance created"); }