protected RouteSupport assertModelRoundTrip(String name, int outputCount) {
outputDir.mkdirs();
File inFile = new File(sourceDir, name);
RouteContainer model1 = marshaller.loadRoutes(inFile);
File outFile = new File(outputDir, name);
marshaller.save(outFile, model1);
RouteContainer model2 = marshaller.loadRoutes(outFile);
List<AbstractNode> children1 = model1.getChildren();
List<AbstractNode> children2 = model2.getChildren();
assertEquals("Should have the same outputs " + model1 + " and " + model2, model1.getOutputs().size(), model2.getOutputs().size());
assertEquals("Should have the same children " + model1 + " and " + model2, children1.size(), children2.size());
assertEquals("Child count", outputCount, children1.size());
RouteSupport route1 = assertIsInstance(children1.get(0), RouteSupport.class);
RouteSupport route2 = assertIsInstance(children2.get(0), RouteSupport.class);