code: protected void findResourceBundleFactory(Configuration configuration)
  			throws Exception
  	{
  		BootstrapPropertyResolver propertyResolver = configuration.getBootstrapPropertyResolver();
  
  		Class<? extends ResourceBundleFactory> resourceBundleFactoryClass = propertyResolver.getClassProperty(
  				DEFAULT_BUNDLE_FACTORY, ResourceBundleFactory.class);
  
  		boolean newInstance = false;
  		if (resourceBundleFactoryClass == null)
  		{
  			if (localizationBundleFactory instanceof ResourceBundleFactory)
  			{
  				resourceBundleFactory = (ResourceBundleFactory)localizationBundleFactory;
  			}
  			else
  			{
  				resourceBundleFactory = new DefaultResourceBundleFactory();
  				newInstance = true;
  			}
  		}
  		else
  		{
  			try
  			{
  				resourceBundleFactory = resourceBundleFactoryClass.newInstance();
  				newInstance = true;
  			}
  			catch (Exception e)
  			{
  				throw new StripesRuntimeException("You specified a class name for a ResourceBundleFactory, " +
  				                                  "but I cannot instantiate it. Is the class name correct? " +
  				                                  "Does it have a no-arg constructor? For configuration you " +
  				                                  "can implement ConfigurableComponent.", e);
  			}
  		}
  		if (newInstance && resourceBundleFactory instanceof ConfigurableComponent)
  		{
  			((ConfigurableComponent)resourceBundleFactory).init(configuration);
  		}
  		LOGGER.debug("Using resource bundle factory: ", resourceBundleFactory);
  	}
docs: Determines the {@link ResourceBundleFactory} implementation to use, and if one is found, calls
  its {@code init(Configuration)} method if it implements {@link ConfigurableComponent}.
  
  @param configuration the configuration to use if the ResourceBundleFactory is a ConfigurableComponent
  @throws Exception when initializing the ResourceBundleFactory fails