public static Population createPopulation(PlansConfigGroup plansConfigGroup, Network network) { // yyyy my intuition would be to rather get this out of a standard scenario. kai, jun'16 RouteFactories routeFactory = new RouteFactories(); String networkRouteType = plansConfigGroup.getNetworkRouteType(); RouteFactory factory; if (PlansConfigGroup.NetworkRouteType.LinkNetworkRoute.equals(networkRouteType)) { factory = new LinkNetworkRouteFactory(); } else if (PlansConfigGroup.NetworkRouteType.CompressedNetworkRoute.equals(networkRouteType) && network != null) { factory = new CompressedNetworkRouteFactory(network); } else { throw new IllegalArgumentException("The type \"" + networkRouteType + "\" is not a supported type for network routes."); } routeFactory.setRouteFactory(NetworkRoute.class, factory); return new PopulationImpl(new PopulationFactoryImpl(routeFactory)); }