LogFactory.getLog(HtmlTagSupportBeanInfo.class).fatal ("Could not contruct bean info for HtmlTagSupport. This is very bad.", e);
log.fatal(e, "Could not contruct bean info for HtmlTagSupport. This is very bad.");
    public PropertyDescriptor[] getPropertyDescriptors() {        try {            List<PropertyDescriptor> descriptors = new ArrayList<PropertyDescriptor>();            // Add the tricky one first            Method getter = HtmlTagSupport.class.getMethod("getCssClass");            Method setter = HtmlTagSupport.class.getMethod("setCssClass", String.class);            descriptors.add( new PropertyDescriptor("class", getter, setter) );            // Now do all the vanilla properties            descriptors.add( new PropertyDescriptor("id",          HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("title",       HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("style",       HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("dir",         HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("lang",        HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("tabindex",    HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("accesskey",   HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onfocus",     HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onblur",      HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onselect",    HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onchange",    HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onclick",     HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("ondblclick",  HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onmousedown", HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onmouseup",   HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onmouseover", HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onmousemove", HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onmouseout",  HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onkeypress",  HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onkeydown",   HtmlTagSupport.class) );            descriptors.add( new PropertyDescriptor("onkeyup",     HtmlTagSupport.class) );            PropertyDescriptor[] array = new PropertyDescriptor[descriptors.size()];            return descriptors.toArray(array);        }        catch (Exception e) {            // This is crazy talk, we're only doing things that should always succeed            LogFactory.getLog(HtmlTagSupportBeanInfo.class).fatal                ("Could not contruct bean info for HtmlTagSupport. This is very bad.", e);            return null;        }    }