public List<YangElement> readXmlConfiguration(HierarchicalConfiguration cfg, String path) {
        List<YangElement> elements = new ArrayList<>();

        String key = nullIsNotFound(findPath(cfg, path), "Configuration does not contain desired path");

        getElements(cfg.configurationsAt(key), elements, key, cfg, path, key);
        return ImmutableList.copyOf(elements);
    }
@Test
    public void testReadNestedXmlConfiguration() throws ConfigurationException {
        testCreateConfig.load(getClass().getResourceAsStream("/testYangConfig.xml"));
        List<YangElement> elements = utils.readXmlConfiguration(testCreateConfig, "controllers");
        List<YangElement> expected = ImmutableList.of(
                new YangElement("controllers", ImmutableMap.of("controller.id", "tcp:1.1.1.1:1",
                                                               "controller.ip-address", "1.1.1.1")),
                new YangElement("controllers", ImmutableMap.of("controller.id", "tcp:2.2.2.2:2",
                                                               "controller.ip-address", "2.2.2.2")));
        assertEquals("Wrong elements collected", expected, elements);
    }