public static Collection<StaticRoute> parseRoutingTable(HierarchicalConfiguration cfg) {

        Collection<StaticRoute> staticRoutes = new HashSet<>();
        HierarchicalConfiguration routeInfo =
                cfg.configurationAt("route-information");
        List<HierarchicalConfiguration> routeTables = routeInfo.configurationsAt("route-table");
        for (HierarchicalConfiguration routeTable : routeTables) {
            List<HierarchicalConfiguration> routes = routeTable.configurationsAt("rt");
            for (HierarchicalConfiguration route : routes) {
                if (route != null) {
                    List<HierarchicalConfiguration> rtEntries = route.configurationsAt("rt-entry");
                    rtEntries.forEach(rtEntry -> {
                        if (rtEntry.getString(PROTOCOL_NAME) != null &&
                                rtEntry.getString(PROTOCOL_NAME).contains("Static")) {
                            parseStaticRoute(rtEntry,
                                    route.getString("rt-destination"),
                                    rtEntry.getString("metric"))
                                    .ifPresent(staticRoutes::add);

                        }
                    });
                }
            }
        }
        return staticRoutes;
    }
@Test
    public void testStaticRoutesParsedFromJunos18() {
        HierarchicalConfiguration reply = XmlConfigParser.loadXml(
                getClass().getResourceAsStream("/Junos_get-route-information_response_18.4.xml"));

        final Collection<StaticRoute> expected = new HashSet<>();
        expected.add(new StaticRoute(Ip4Prefix.valueOf("0.0.0.0/0"), Ip4Address.valueOf("172.26.138.1"), false, 100));

        assertEquals(expected, JuniperUtils.parseRoutingTable(reply));
    }