if(CLASS_CONSTRAINTS.keySet().contains(nodeName)) {
String clazzName = node.getTextContent();
clazzName = clazzName == null ? null : clazzName.trim();
Class clazz = new ClassUtils().loadClass(clazzName, nodeName);
Class[] constraints = CLASS_CONSTRAINTS.get(nodeName);
if( constraints.length > 0 && ! new ClassUtils().isAssignableFrom(constraints, clazz) )
fail("In '" + faceConfigPath + "', " + clazz.getName() + " for element " + nodeName
+ " should be a " + new ClassUtils().getConstraintsList(constraints));
}else {
NodeList children = node.getChildNodes();
for(int i = 0; i < children.getLength(); i++)
classDefinitions(children.item(i), faceConfigPath);