log.warn("this.configuration: " + this.configuration); log.warn("this.configuration.bootstrap: " + this.configuration.getBootstrapPropertyResolver());
    public void init(Configuration configuration) {        this.configuration = configuration;        log.warn("this.configuration: " + this.configuration);        log.warn("this.configuration.bootstrap: " + this.configuration.getBootstrapPropertyResolver());        // Set up the ActionClassCache        Set<String> urlFilters = new HashSet<String>();        Set<String> packageFilters = new HashSet<String>();        String temp = configuration.getBootstrapPropertyResolver().getProperty(URL_FILTERS);        if (temp != null) {            urlFilters.addAll(Arrays.asList( temp.split(",")));        }        temp = configuration.getBootstrapPropertyResolver().getProperty(PACKAGE_FILTERS);        if (temp != null) {            packageFilters.addAll(Arrays.asList( temp.split(",")));        }        ActionClassCache.init(urlFilters, packageFilters);        // Use the actionResolver util to find all ActionBean implementations in the classpath        Set<Class<ActionBean>> beans = ActionClassCache.getInstance().getActionBeanClasses();        // Process each ActionBean        for (Class<ActionBean> clazz : beans) {            String binding = getUrlBinding(clazz);            // Only process the class if it's properly annotated            if (binding != null) {                this.formBeans.put(binding, clazz);                // Construct the mapping of event->method for the class                Map<String, Method> classMappings = new HashMap<String, Method>();                processMethods(clazz, classMappings);                // Put the event->method mapping for the class into the set of mappings                this.eventMappings.put(clazz, classMappings);            }        }        log.debug("Mappings initialized: ", this.eventMappings);    }