src/main/java/org/eiichiro/bootleg/BootlegFilter.java
protected Configuration configuration(FilterConfig config) throws ServletException {
		ServletContext context = config.getServletContext();
		String clazz = context.getInitParameter(CONFIGURATION);
		Configuration configuration = null;
		
		if (clazz != null) {
			try {
				configuration = (Configuration) Class.forName(clazz).newInstance();
				configuration.init(config.getServletContext());
				logger.info("Custom configuration [" + clazz + "] loaded");
			} catch (Exception e) {
				logger.error("Failed to load custom configuration [" + clazz + "]", e);
				throw new ServletException("Failed to load custom configuration [" + clazz + "]", e);
			}
		}
		
		return configuration;
	}
protected Configuration configuration(FilterConfig config) throws ServletException {
		ServletContext context = config.getServletContext();
		String clazz = context.getInitParameter(CONFIGURATION);
		Configuration configuration = null;
		
		if (clazz != null) {
			try {
				configuration = (Configuration) Class.forName(clazz).newInstance();
				configuration.init(config.getServletContext());
				logger.info("Custom configuration [" + clazz + "] loaded");
			} catch (Exception e) {
				logger.error("Failed to load custom configuration [" + clazz + "]", e);
				throw new ServletException("Failed to load custom configuration [" + clazz + "]", e);
			}
		}
		
		return configuration;
	}
Constructs the {@code Configuration}.
This method attempts to get custom configuration class from {@code ServletContext}
init parameter and instantiate and initialize it. If the custom configuration
class has not been specified as the {@code ServletContext} init parameter,
this method returns <code>null</code>.

@param config Servlet filter configuration.
@return {@code Configuration} constructed.
@throws ServletException If the custom configuration loading is failed.