code: public void init(ApplicationConfig config) throws ServletException {
          PropertyMap properties = config.getProperties();
          String throwableHandlerClass = 
              properties.getString("throwableHandlerClass");
          
          // load the provided handler class if provided
          if (throwableHandlerClass != null) {
  	        try {
  	            ContextConfig configSupport = new ContextConfig(
  	                config.getProperties(), config.getLog(), 
  	                config.getName(), config.getPlugins(),
  	                config.getServletContext()
  	            );
  	            
  	            Class<?> clazz = Class.forName(throwableHandlerClass);
  	            mThrowableHandler = (ThrowableHandler) clazz.newInstance();
  	            mThrowableHandler.init(configSupport);
  	        } catch (Exception e) {
  	            config.getLog().error(e);
  	            throw new ServletException(e);				
  	        }
          }
          
          // default to the default handler
          if (mThrowableHandler == null) {
              ContextConfig configSupport = new ContextConfig(
                   config.getProperties(), config.getLog(), 
  	             config.getName(), config.getPlugins()
  	         );
              
          	 mThrowableHandler = new ThrowableHandlerDefaultSupport();
  	         mThrowableHandler.init(configSupport);
          }
          
          // create the singleton context
          mContext = new ThrowableCatcherContextImpl();
      }
docs: Initialize the application with the provided configuration. The
  following options are supported:
  
  <dl>
  <dt>throwableHandlerClass</dt>
  <dd>
  The fully-qualified name of the custom {@link ThrowableHandler} class
  to use when processing exceptions. Defalts to
  {@link ThrowableHandlerDefaultSupport}.
  </dd>
  </dl>
  
  @param config The application configuration