class BusNetwork extends AbstractBusContainer<BusContainer<?>, BusLine> {

	@Pure
	public Iterable<BusStop> busStops() {
		final MultiCollection<BusStop> col = new MultiCollection<>();
		col.addCollection(this.validBusStops);
		col.addCollection(this.invalidBusStops);
		return Iterables.unmodifiableIterable(col);
	}

	public  BusNetwork(String name, RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(UUID id, String name, RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(UUID id, RoadNetwork roadNetwork, AttributeCollection attributeProvider);
	public  BusNetwork(String name, RoadNetwork roadNetwork);
	public  BusNetwork(UUID id, String name, RoadNetwork roadNetwork);
	public  BusNetwork(RoadNetwork roadNetwork);
	public  BusNetwork(UUID id, RoadNetwork roadNetwork);

}