}
private void doManagedBean(Node parent, String facesConfigPath, final Map<String, String> managedBeanNames) {
// should've used jaxb or digestor
String name = new ParserUtils().querySingle(parent, "./managed-bean-name/text()", facesConfigPath);
if(name == null || "".equals(name))
throw new RuntimeException("could not determine name of " + parent.getNodeName() +
" in " + facesConfigPath);
String clazz = new ParserUtils().querySingle(parent, "./managed-bean-class/text()", facesConfigPath);
if(clazz == null || "".equals(clazz))
throw new RuntimeException("could not determine class of " + parent.getNodeName() + " '"
+ name + "' in " + facesConfigPath);
String scope = new ParserUtils().querySingle(parent, "./managed-bean-scope/text()", facesConfigPath);
if(scope == null || "".equals(scope))
throw new RuntimeException("could not determine scope '" + scope + "' of " + parent.getNodeName() + " '"
+ name + "' in " + facesConfigPath);
failIfMapHasDuplicateKeys(parent, facesConfigPath, name);